アレイを突然変異させることなくこれを行うことができますか?JavaScriptは最初の繰り返しをスキップする方法を組み込んでいますか?
let arr = [1, 2, 3, 4, 5];
arr.shift() // works but mutates the array
arr.forEach(function(value) {
console.log(value)
});
2
3
4
5
アレイを突然変異させることなくこれを行うことができますか?JavaScriptは最初の繰り返しをスキップする方法を組み込んでいますか?
let arr = [1, 2, 3, 4, 5];
arr.shift() // works but mutates the array
arr.forEach(function(value) {
console.log(value)
});
2
3
4
5
最初の要素がないコピーにはArray#slice
を使用できます。 forEach
で
let arr = [1, 2, 3, 4, 5];
arr.slice(1).forEach(function(value) {
console.log(value);
});
これはまさに私が探していたものです。 –
使用index
:
let arr = [1, 2, 3, 4, 5];
arr.forEach(function(value, index) {
if (index != 0) {console.log(value) }
});
let arr = [1, 2, 3, 4, 5];
arr.forEach(function(value, index) {
return index == 0 ? true : console.log(value), true;
});
['Array#forEach'](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/forEach)は戻り値を気にしません。 –
arr.forEach(function(value, index) {
if(index !== 0) {
console.log(value);
}
});
この少し値がarray.slice(1).forEach(...)
がエレガントですが、それは新しい配列を作成し最初の配列項目
この配列 '[99,1,2,3,99,5,6]'はどうですか? – georg
@georg、良い点私は編集を行います。ありがとう – goosmaster
に等しくない場合ステートメントはちょうど発射した場合。 forEach
(配列インデックス)に渡された2番目のプロパティが0
か、 "falsy"かどうかをチェックすることで、これを回避できます。
if (i) expression()
i && expression()
へ...この方法は驚くほど簡潔になり:あなたの渡された関数は、単一の式を実行するために発生した場合、次の文を短くすることができます。
let array = [1, 2, 3, 4, 5]
array.forEach(function (value, i) {
if (i) console.log(value)
})
array.forEach(function (value, i) {
i && console.log(value)
})
'[1,1,1] .MAP((E、I)=> I E * 2:E); // [1,2,2] ' – Redu