function commonChars(A){
let len = A.length;
let B = [];
let answer = [];
for(let i = 0; i < len; i++){
B[i] = [];
B[i] = A[i].split('');
}
let len1 = B[0].length;
let flag = true;
for(let i = 0; i < len1; i++){
for(let j = 1; j < len; j++){
if(B[j].indexOf(B[0][i]) == -1){
flag = false;
}
};
if(flag){
answer.push(B[0][i])
for(let k = 1; k < len; k++){
let num = B[k].indexOf(B[0][i]);
B[k].splice(num,1);
}
};
flag = true;
}
return answer;
}
思想和我的一样;但是用的都是高级函数;写起来简单很多
let A = ['bella', 'label', 'roller']
function commonChars(A){
let ans = [],
w = A[0];
for(let s of w){
if(A.every(m => m.includes(s))){
A = A.map(m => m.replace(s, ''));
ans.push(s);
}
}
return ans;
}
every与filter的区别: every返回值为Boolean型;