如何从数组中删除每个第3个元素?
var TheArray = ['h', 'e', 'z', 'l', 'l', 'l', 'o']
如何在不创建新阵列的情况下说“你好”?
答案 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; })
希望有帮助。