2017-12-03 2 views
-5

私はリストを二重にする必要があります。コードを二重にする方法を知っておく必要がありますが、それを乗算するのではなく、文字通りリストを二重にする関数を書くことで

10,10,20,20,30,30,40,40

は、私は上記の二回のアレイで行われた番号を持っていることによって起こる必要があります機能を必要としています。

これは私が試したものです:

function doubleList(){ 
    var i, s, 
     myStringArray = [ "Hello", "World" ], 
     len = myStringArray.length; 

    for (i=0; i<len; ++i) { 
     if (i in myStringArray) { 
      s = myStringArray[i]; 
     } 
    } 

をコードループ、私は必要の数字をすることはできませんので、それは私に期待される結果を与えていない、私は単に私< 2を行くと、それを倍増しようとしました、しかし、それは全く機能しませんでした。

+2

ようこそStackoverflowへ[How to Ask](https://stackoverflow.com/help/how-to-ask)をお読みください。 [MCVEの作成方法](https://stackoverflow.com/help/mcve)に特に注意してください。良い質問を投稿するために、より多くの努力が必要です。読みやすく、理解しやすく、トピック上にあるものです(https://stackoverflow.com/help/on-topic) - その可能性は高いです関連する人々を惹きつけ、あなたはもっと早く助けを得るでしょう。がんばろう! – alfasin

+0

あなたのご意見は? [10,20,30,40]? –

+0

そのようになります。 – Thr0binh00d

答えて

0

一つの方法:

console.log([].concat.apply([], [10, 20, 30, 40].map(x => [x, x])))

別の方法:

const list = [10, 20, 30, 40] 
 

 
const doubleList = (list) => { 
 
    const res = [] 
 
    for (let x of list) { 
 
    res.push(x) 
 
    res.push(x) 
 
    } 
 
    return res 
 
} 
 
console.log(doubleList(list))

0

function doubleArrayElems(array) { 
 
    let arrayLen = array.length; 
 
    for (let i = 0; i < arrayLen; i += 2) { 
 
    array.splice(i, 0, array[i]); 
 
    } 
 
} 
 

 
let arrayElem = document.getElementById('array'); 
 
let doubleArrayElem = document.getElementById('double-array'); 
 

 
var myArray = [10, 20, 30, 40, 50]; 
 
arrayElem.innerHTML = myArray.toString(); 
 

 
doubleArrayElems(myArray); 
 

 
doubleArrayElem.innerHTML = myArray.toString();
Array: <p id="array"></p> 
 
Doubled Array: <p id="double-array"></p>

はい、それをループに使用array#forEachわずか40および50

+0

'はい、しかし40と50だけで最後に余分なものはありませんか? 'あなたが何を意味するのかわからない – Thomas

+0

実行時のコードスニペットは私に最初の3つのバージョンのほんの2倍のバージョンを示しています。 – Thr0binh00d

+0

コード内のすべてを2倍にする必要があります。 – Thr0binh00d

0

と最後に余分がなく、新しい配列

function doubleArray(x) { 
 
    var tempArray = []; 
 
    x.forEach(function(item) { 
 
    tempArray.push(item); 
 
    tempArray.push(item) 
 
    }) 
 

 
    return tempArray; 
 
} 
 
var m = [10, 20, 30, 40]; 
 

 
console.log(doubleArray(m))
に二回要素をプッシュします

関連する問題