删掉字符串中另一个字符串的字符,字符串练习两个字符串求差

// 从第一个字符串中删除第二个字符串中所有的字符
var str1 = 'They are students',
    str2 = 'aeiou',
    res = '';
    console.log(str1[3]);

// 思路
// 遍历str2中的字符,看是否在str1中,如果有 则从str1中删除

arr1 = str1.split('');
arr2 = str2.split('');

for (var i = 0; i < arr2.length; i++) {
    for (var n = 0; n < arr1.length; n++) {
            if ( arr1[n] == arr2[i] ){
                arr1.splice(n,1)
            }
        }    
}
res = arr1.join('').replace(',','');
console.log(res);







    // for ( var j = 0; j < str2.length; j++ ){
    //     for (var m = 0; m < str1.length; m++) {
    //         if ( str2[j] !== str1[m] ) {
    //             // var res = str1.splice(m,m+1);
    //             // console.log('res:'+res);
    //             res+=str1[m];      
    //         }
    //     }
    // }
    // // res = arr1.join('').replace(',','');
    // console.log(res);       // =>  They re studentsThy ar studntsThey are studentsThey are studentsThey are stdents
    //                         // 问题的关键在于,没有实现这次的计算结果  作为下次计算的输入,而是不断的将每次循环 +给另一个字符串






// 方法二
// 从第一个字符串中删除第二个字符串中所有的字符
var str3 = 'They are students',
    str4 = 'aeiou',
    res2 = '';

// 思路:
// 判断一个字符是否在另一个字符串中,使用indexOf(),返回索引或者-1
// 遍历str3中所有字符,然后判断是否在str4中,如果在就舍弃,不在就加到res2中

for ( var r = 0; r < str3.length; r++ ){
    var char = str3[r];
    if ( str4.indexOf(char) ==-1 ){
        res2 += char;
    }
}
console.log('res2:'+res2);

猜你喜欢

转载自blog.csdn.net/qq_41893551/article/details/81871425
今日推荐