问题描述
我要在一个函数中传递数组元素和数组字符串,然后转换为字符串并查找重复的元素计数。
function count5numbers1(arr,arr1) {
let m1 = arr.toString().match(/[5]/gi);
let m2 = arr1.toString().match(/[5]/gi);
if (m1 === null && m2 != null) {
return m1 = 0;
} else if (m1 != null) {
return m1.length;
} else if (m2 === null) {
return m2 = "it's not a number";
} else {
return m2.length;
}
}
console.log(count5numbers1([1,2,5,43],[5]));
console.log(count5numbers1([1,3,5],4,2],[5]));
console.log(count5numbers1([2,54,15],55,555],[5]));
console.log(count5numbers1([6,1],[5]));
console.log(count5numbers1(['notnumber,its a string'],[]));
但是我只需要使用单个参数m1即可得到相同的结果。
结果将是: 1个 1个 0 2 6 0 这不是数字
解决方法
function count5numbers1(arr) {
const m1 = arr.toString().match(/[5]/g);
if (arr.some(e => typeof e != 'number')) {
return "it's not a number";
} else if (m1 === null) {
return 0;
} else {
return m1.length;
}
}
console.log(count5numbers1([1,2,5,43]));
console.log(count5numbers1([1,3,5]));
console.log(count5numbers1([1,4,2]));
console.log(count5numbers1([2,54,15]));
console.log(count5numbers1([1,55,555]));
console.log(count5numbers1([6,1]));
console.log(count5numbers1(['notnumber,its a string']));