Javascript 这是怎么做到的?使用方法“检查数组中相同类型的所有元素”;每";
我试图解决这个问题,我需要检查数组中的每个元素是否都有相同的类型,我需要使用“every”方法。但是我不知道为什么我的代码不起作用,你能帮我吗?谢谢Javascript 这是怎么做到的?使用方法“检查数组中相同类型的所有元素”;每";,javascript,Javascript,我试图解决这个问题,我需要检查数组中的每个元素是否都有相同的类型,我需要使用“every”方法。但是我不知道为什么我的代码不起作用,你能帮我吗?谢谢 函数allSameType(i){ 返回(typeof i==typeof i[0]); } 常数c=[1,2,3]; 常数d=[1,2,3,4”]; log(c.every(allSameType)); log(d.every(allSameType))您需要先保存第一个元素的类型,然后使用。every将其他类型的与之进行比较: 函数allS
函数allSameType(i){
返回(typeof i==typeof i[0]);
}
常数c=[1,2,3];
常数d=[1,2,3,4”];
log(c.every(allSameType));
log(d.every(allSameType))
您需要先保存第一个元素的类型,然后使用。every
将其他类型的
与之进行比较:
函数allSameType(arr){
const type=typeof arr[0];
返回arr.slice(1).every(item=>type==typeof item);
}
常数c=[1,2,3];
常数d=[1,2,3,4”];
log(allSameType(c));
console.log(allSameType(d))
您试图以数组的形式访问在allSameType
中传递的第一个元素,但它不是数组,而是数组的一个元素
您可以将数组作为第三个参数传递给allSameType()
函数,因为array.prototype。每个回调都接受三个参数:
元素(i
)
元素的索引(。
)
调用它的数组本身。(arr
)
函数allSameType(i,u,arr){
返回(typeof i==typeof arr[0]);
}
常数c=[1,2,3];
常数d=[1,2,3,4”];
log(c.every(allSameType));
log(d.every(allSameType))
您可以使用解构来获取第一个项目(第一个
),以及其余项目(其余
),然后将它们与数组进行比较。every()
:
const allSameType=([first,…rest])=>
rest.every(item=>typeof item===typeof first)
常数c=[1,2,3];
常数d=[1,2,3,4”];
log(allSameType(c));
console.log(allSameType(d))代码>好的,就这样。非常感谢您的快速回答@雅各布斯。不客气,请接受对你帮助最大的答案。