javascript如何从数组中删除每个第3个元素

时间:2013-03-20 20:13:57

标签: javascript arrays

如何从数组中删除每个第3个元素?

var TheArray = ['h', 'e', 'z', 'l', 'l', 'l', 'o']

如何在不创建新阵列的情况下说“你好”?

4 个答案:

答案 0 :(得分:9)

试试这个:

for (var i = 2; i <= TheArray.length; i += 2)
    TheArray.splice(i, 1);

如果你想要一个字符串,只需使用TheArray.join("")

答案 1 :(得分:0)

如果您想要一个字符串,请不要更改数组。

var r = '';
for (var i=0; i<TheArray.length; i++) {
   if (i%3!=2) r += TheArray[i];
}
// now r is "hello"

答案 2 :(得分:0)

试试这个:

var arr = ['h', 'e', 'z', 'l', 'l', 'l', 'o'];
for(var i = 2; i < arr.length; i+=2)
    arr.splice(i, 1);
console.log(arr); // outputs ['h','e','l','l','o']

答案 3 :(得分:0)

执行此操作的另一种方法是使用Array.prototype.filter()函数。以下是使用它删除每个第三个元素的方法:

var TheArray = ['h', 'e', 'z', 'l', 'l', 'l', 'o']
TheArray = TheArray.filter(function(d, i){ return (i+1)%3 !== 0; })

希望有帮助。