Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/400.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 这是怎么做到的?使用方法“检查数组中相同类型的所有元素”;每";_Javascript - Fatal编程技术网

Javascript 这是怎么做到的?使用方法“检查数组中相同类型的所有元素”;每";

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

我试图解决这个问题,我需要检查数组中的每个元素是否都有相同的类型,我需要使用“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
将其他
类型的
与之进行比较:

函数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))好的,就这样。非常感谢您的快速回答@雅各布斯。不客气,请接受对你帮助最大的答案。