タイトルは少し紛らわしいかもしれません。しかし、私はそれが明らかだと思います:
var a = ["A1", "B13", "C123"];
要素の最初の値を無視して残りを取得したい。したがって、私の新しい配列は次のようになります。
var b = ["1", "13", "123"];
タイトルは少し紛らわしいかもしれません。しかし、私はそれが明らかだと思います:
var a = ["A1", "B13", "C123"];
要素の最初の値を無視して残りを取得したい。したがって、私の新しい配列は次のようになります。
var b = ["1", "13", "123"];
.map()
元の変更された値の新しい配列を作成するために使用します。
var b = a.map(function(item) {
return item.slice(1);
});
これにより、元の配列が反復処理され、配列内の各項目が関数の最初の引数として渡され、関数の戻り値が新しい配列の値として設定されます。
IE8 以前の場合は、パッチを実装する必要があります。1 つはMDN から入手できます。
を使用.map
すると、既存の配列のすべての要素を関数に渡すことによって生成される新しい配列を返すことができます。
var b = a.map(function(v) {
return v.substr(1);
});
.map
古いブラウザーには存在しない ES5 関数であることに注意してください。シムは上記のリンクで入手できます。
var b = [];
for (var i = 0; i < a.length; ++i)
{
b[i] = a[i].substring(1);
}
forEach
方法_
var a = ["A1", "B13", "C123"],
b = [];
a.forEach(function (element) {
b.push(element.slice(1));
});
console.log(b);
map
方法_
var b = a.map(function (element) {
return element.slice(1);
});
for
方法_
var l = a.length;
var b = [];
for (var i = 0; i < l; i += 1) {
b.push(a[i].slice(1));
}
究極の速度は依然としてforループです(おじいちゃんを除いて)
したがって、上記のすべてを含めることになったので、それらすべての祖父母を方程式から除外するのは正しくないと感じました.
while
方法_
var b = [];
var i = 0;
var l = a.length;
while (i < l) {
b.push(a[i].slice(1));
i += 1;
}
ちょっとした笑いのために、RegExp と jquery のバージョンも含めます。
(lodashには独自のマップ機能もあります)
あなたはjsperfを見ることができます