如何从数组中删除每个第三个元素?
如何在不创建新数组的情况下使其显示“hello”?
var TheArray = ['h', 'e', 'z', 'l', 'l', 'l', 'o']
如何在不创建新数组的情况下使其显示“hello”?
var TheArray = ['h', 'e', 'z', 'l', 'l', 'l', 'o']
试一试:
for (var i = 2; i <= TheArray.length; i += 2)
TheArray.splice(i, 1);
如果您想得到一个字符串,只需使用TheArray.join("")
。splice
、sort
和push
)会修改数组,而其他方法(如slice
、concat
、map
和filter
)则不会。 - MaxArt另一种方法是使用Array.prototype.filter()函数。以下是使用它删除每个第三个元素的方法:
var TheArray = ['h', 'e', 'z', 'l', 'l', 'l', 'o']
TheArray = TheArray.filter(function(d, i){ return (i+1)%3 !== 0; })
TheArray = TheArray.filter((d, i) => (i + 1) % 3)
- Shiva Prasadvar r = '';
for (var i=0; i<TheArray.length; i++) {
if (i%3!=2) r += TheArray[i];
}
// now r is "hello"
试试这个:
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']
newArray = []; for (i = 0; i <= TheArray.length; i += 3) newArray.push(TheArray[i]) && newArray.push(TheArray[i+1]);
。 - Andrej Burcev