对数组元素做一些事情,除了一个

时间:2013-12-25 11:50:45

标签: javascript arrays

我想问一下,除了javascript中的一个特定元素外,还有一种简单的方法可以对数组元素执行操作。

示例:

var myArray = [ 1, 2, 3, 4, 5, 6 ];

我想在除

之外的所有数组元素上运行方法或其他东西
myArray.indexOf(myArray[2]);

实现这一目标的最简单方法是什么?感谢。

5 个答案:

答案 0 :(得分:2)

为什么不使用伟大的旧for循环迭代数组并检查匹配的值。

var myArray = [ 1, 2, 3, 4, 5, 6 ];

for(var i = 0, len = myArray.length;i<len;i++) {
    if(i!==2) {
        // do something..
    }
}

答案 1 :(得分:2)

可以是这样的

var exceptionIndex = son value;
var myArray = [ 1, 2, 3, 4, 5, 6 ];

function someFunction(index){
  myArray.splice(index,1);
  for (var i = 0; i < myArray.length; i++) {
    // do something
  }
}


someFunction(exceptionIndex);

答案 2 :(得分:1)

您可以像这样使用Array.forEach

myArray.forEach(function(currentValue, currentIndex, actualArray) {
    if (currentIndex !== 2) {
        ...
    }
});

forEach函数将作为参数传递的函数应用于Array的每个值。它将三个参数传递给函数,它们如下

  • 元素值

  • 元素索引

  • 正在遍历的数组

答案 3 :(得分:0)

选项A:

for (var i = 0; i < myArray.length; i++) {
    if (i === 2)
        continue;

    // do something    
}

选项B:

myArray.forEach(function(item, index) {
    if (index === 2)
        return;

    // do something 
});

答案 4 :(得分:0)

myArray
    .filter(function(val, idx) {
        return idx !== 2;
    })
    .forEach(function(val) {
        myfunc(val);
    })
;