Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/visual-studio/7.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 Map和splice提供空值,而不是空值_Javascript - Fatal编程技术网

Javascript Map和splice提供空值,而不是空值

Javascript Map和splice提供空值,而不是空值,javascript,Javascript,我有一个算法: 让someArray=[1,2,3,4,5] 让mapped=someArray.map(number=>{ 设index=someArray.indexOf(5) 如果(索引!=-1){ someArray.splice(索引,1) } 控制台日志(编号类型) 返回号码 }) console.log(映射) console.log(mapped.length) console.log(Object.keys(mapped.length)请参见: map为数组中的每个元素按顺序

我有一个算法:

让someArray=[1,2,3,4,5]
让mapped=someArray.map(number=>{
设index=someArray.indexOf(5)
如果(索引!=-1){
someArray.splice(索引,1)
}
控制台日志(编号类型)
返回号码
})
console.log(映射)
console.log(mapped.length)
console.log(Object.keys(mapped.length)
请参见:

map为数组中的每个元素按顺序调用一次提供的回调函数,并根据结果构造一个新数组。回调仅对具有赋值(包括未定义)的数组索引调用。对于数组中缺少的元素(即从未设置、已删除或从未赋值的索引),不会调用它

如果数组的现有元素发生更改,则传递给回调的值将是映射访问它们时的值。在调用映射开始之后和被访问之前删除的元素不会被访问

在对数组进行迭代时对其进行变异,这意味着一旦达到索引[4],该元素(其值以前为5)就不再存在,这意味着该函数在该迭代中不会被调用,从而导致
。生成的数组由5个元素创建,但不会对最后一个元素调用回调

改用
过滤器