javascript配列のすべての要素を複製する最も簡単な方法(「ネイティブ」javascriptを使用)js配列の要素を複製する方法は?
注文の問題。例えば
:
a = [2, 3, 1, 4]
// do something with a
a
// a is now [2, 2, 3, 3, 1, 1, 4, 4]
javascript配列のすべての要素を複製する最も簡単な方法(「ネイティブ」javascriptを使用)js配列の要素を複製する方法は?
注文の問題。例えば
:
a = [2, 3, 1, 4]
// do something with a
a
// a is now [2, 2, 3, 3, 1, 1, 4, 4]
私はtymeJVの答え基本的に
[2, 3, 1, 4].reduce(function (res, current, index, array) {
return res.concat([current, current]);
}, []);
であれば問題ありません。回答! +1 – epascarello
ハハ:)コーヒーはクッキーを手に入れないのが良い理由です! – axelduch
2つの最後のパラメータ( 'index'、' array')がなぜ使われていないのか分かりません。誰かがこれを説明できますか? – MarksCode
私はあなたができるとします
var duplicated = a.map(function(item) {
return [item, item];
}).reduce(function(a, b) { return a.concat(b) });
//duplicated: [2, 2, 3, 3, 1, 1, 4, 4]
に似た何かを思い付いた:
a = [2, 3, 1, 4];
b=[];
for(var i = 0; i< a.length;++i){
b.push(a[i]);
b.push(a[i]);
}
a=b;
これは私をWTFにしなかった唯一の答えです。それは退屈だが、その意図ははっきりしている。 –
少しスプライスしてください。
var a = [2, 3, 1, 4],
i = a.length;
while (i--) {
a.splice(i, 0, a[i]);
}
document.write('<pre>' + JSON.stringify(a, 0, 4) + '</pre>');
私は自分のアプリケーションでこの問題に出くわしたので、私は、この関数を作成する:配列、および回あなたの数を
function duplicateElements(array, times) {
return array.reduce((res, current) => {
return res.concat(Array(times).fill(current));
}, []);
}
それを使用するには、簡単なパス
duplicateElements([2, 3, 1, 4], 2);
これらのf ()、.concat()を参照するのに役立つことがあります。
function duplicate(arr) {
return arr.concat(arr).sort()
}
console.log(duplicate([1,2,3,4,5]))
質問が明確に記載されています**ご注文は重要** ** – Durga
ありがとう@Davut .. sort()を追加するとこれが解決されます – tallgirltaadaa
推奨されていませんが、正規表現は使用できません。 – Tushar
@Tushar素敵なアイデアです。 "a = a.join( '、')。(/(\ d +)/ g、" $ 1、$ 1 ")を置き換えます。しかし、あなたがすでに想定しているように、私はコンマを含む可能性のある文字列の配列でも動作する一般的なソリューションを探しています。 –
**この質問へのトップの答えは、複雑なコードのゴルフ**のようです。削減を使用しないでください、意図は非常に不明です。ときどきforループが正しい答えの人です、ごめんなさい。 –