Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/403.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,我有一组div,存储在一个数组中,然后需要遍历这些div并对除当前迭代值之外的所有对象执行操作。我有一把小提琴,我想它能很好地解释我的处境 下面是我用来选择除(本例中)n值以外的所有内容的函数 const getRestOfArray = (array, n) => { let arrayCopy = array.slice(); let index = arrayCopy.indexOf(n); if (index > -1) { array

我有一组div,存储在一个数组中,然后需要遍历这些div并对除当前迭代值之外的所有对象执行操作。我有一把小提琴,我想它能很好地解释我的处境

下面是我用来选择除(本例中)
n
值以外的所有内容的函数

const getRestOfArray = (array, n) => {
    let arrayCopy = array.slice();
    let index = arrayCopy.indexOf(n);
    if (index > -1) {
        arrayCopy.splice(index, 1);
        return arrayCopy;
    }
};

我在这里犯了什么根本性的错误吗?谢谢。

如果索引不在数组中,只需返回数组副本,如下所示

const getRestOfArray = (array, n) => {
    let arrayCopy = array.slice();
    let index = arrayCopy.indexOf(n);
    if (index > -1) {
        arrayCopy.splice(index, 1);
    }
    return arrayCopy;
};
.indexOf()
不是必需的
2
不是包含字母的数组或
DOM
元素的元素。您可以调用
.splice()
,第一个参数为
n
,第二个参数为
1
,以返回预期结果

const getRestOfArray = (array, n) => {
  let arrayCopy = array.slice();
  arrayCopy.splice(n, 1);
  return arrayCopy;
};

有什么问题吗?如果找到n,则函数返回新数组,如果未找到,则返回未定义数组-这是您所期望的吗?我已在fiddle中对期望的结果进行了注释。我需要它不要为一个div数组返回undefined。然后返回一些东西-取决于您返回的内容,因为我甚至没有讨论您的问题,因为您的问题应该在上面定义和描述。所以,不是一些外部站点如果找不到传入的值,那么所需的返回值是什么?无论所需的返回值是什么,只要在
if
语句不匹配时返回该值即可。我不明白你在寻求什么帮助。唯一有
.indexOf(2)
的时间是在你的数字数组中。@Shanling你也可以使用
.slice()
.concat()
const getRestOfArray=(array,n)=>array.slice(0,n)。concat(array.slice(n+1,array.length))
perfect,效果很好。非常感谢。我知道我做错了什么。。我想我误解了indexOf()的工作原理。再次感谢:-)