6

配列から 3 つおきの要素を削除するにはどうすればよいですか?

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

新しい配列を作成せずにこれを「こんにちは」と言うにはどうすればよいですか?

4

4 に答える 4

9

これを試して:

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

最後に文字列が必要な場合は、TheArray.join("").

于 2013-03-20T20:17:12.297 に答える
1

これを行う別の方法は、Array.prototype.filter()関数を使用することです。これを使用して3番目の要素をすべて削除する方法は次のとおりです。

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

それが役に立てば幸い。

于 2018-08-02T09:59:12.287 に答える
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']
于 2013-03-20T20:19:29.490 に答える
0

文字列が必要な場合は、配列を変更しないでください。

var r = '';
for (var i=0; i<TheArray.length; i++) {
   if (i%3!=2) r += TheArray[i];
}
// now r is "hello"
于 2013-03-20T20:17:41.393 に答える