2017-09-21 12 views
0

私はこれを完全に間違っていると知っていますが、私は立ち往生しています。オブジェクト作成内でループを実行

私はオブジェクトの配列を持っています。

これから3つのオブジェクトを作成したいと思います。

作成された最初のオブジェクト元のオブジェクトにすべての 'uppVal'値を持つ配列が必要です。

は、作成された第二の目的は、「midVal」の値を必要とし、第三の目的は、「lowvalは、」私はこれが

outputData.push({ 
    dataNum: [] 
    for (var n = 0; n < data.length; n++) { 
     dataNum.push(data[n][key]) 
    } 
    }) 

間違っている知っている

値が、作成している間、私は値を取得しようとしていますオブジェクト

var outputData = []; 
 

 
data = [{ 
 
    "uppVal": 68, 
 
    "midVal": 34, 
 
    "lowVal": 4, 
 
    }, 
 
    { 
 
    "uppVal": 68, 
 
    "midVal": 34, 
 
    "lowVal": 4, 
 
    }, 
 
    { 
 
    "uppVal": 68, 
 
    "midVal": 34, 
 
    "lowVal": 4, 
 
    }, 
 
    { 
 
    "uppVal": 68, 
 
    "midVal": 34, 
 
    "lowVal": 4, 
 
    }, 
 
    { 
 
    "uppVal": 68, 
 
    "midVal": 34, 
 
    "lowVal": 4, 
 
    }, 
 
    { 
 
    "uppVal": 68, 
 
    "midVal": 34, 
 
    "lowVal": 4, 
 
    } 
 
] 
 

 
titlesArr = ['uppVal', 'midVal', 'lowVal'] 
 

 
for (var i = 0; i < 3; i++) { 
 
    var counter = 0 
 
    var key = titlesArr[counter] 
 
    outputData.push({ 
 
    dataNum: [] 
 
    for (var n = 0; n < data.length; n++) { 
 
     dataNum.push(data[n][key]) 
 
    } 
 
    }) 
 
    counter++ 
 
} 
 

 
console.log(outputData);

+0

あなたが期待している出力は何か? –

答えて

1

だから、基本的にoutputData[key][index]data[index][key]を切り替えたい:

data = [ { "uppVal": 68, "midVal": 34, "lowVal": 4 }, 
 
     { "uppVal": 68, "midVal": 34, "lowVal": 4 }, 
 
     { "uppVal": 68, "midVal": 34, "lowVal": 4 }, 
 
     { "uppVal": 68, "midVal": 34, "lowVal": 4 }, 
 
     { "uppVal": 68, "midVal": 34, "lowVal": 4 }, 
 
     { "uppVal": 68, "midVal": 34, "lowVal": 4 } ] 
 
      
 
outputData = { uppVal: [], midVal: [], lowVal: [] } 
 

 
for (var i = 0; i < data.length; i++) 
 
{ 
 
    outputData.uppVal[i] = data[i].uppVal 
 
    outputData.midVal[i] = data[i].midVal 
 
    outputData.lowVal[i] = data[i].lowVal 
 
} 
 

 
console.log(outputData)

1

指定されたデータとキーの配列を繰り返し、キーのインデックスを使用して結果セットを取得することができます。

var data = [{ uppVal: 68, midVal: 34, lowVal: 4 }, { uppVal: 68, midVal: 34, lowVal: 4 }, { uppVal: 68, midVal: 34, lowVal: 4 }, { uppVal: 68, midVal: 34, lowVal: 4 }, { uppVal: 68, midVal: 34, lowVal: 4 }, { uppVal: 68, midVal: 34, lowVal: 4 }], 
 
    result = [[], [], []]; 
 

 
data.forEach(function (o) { 
 
    ['uppVal', 'midVal', 'lowVal'].forEach(function (k, i) { 
 
     result[i].push(o[k]); 
 
    }); 
 
}); 
 

 
console.log(result);
.as-console-wrapper { max-height: 100% !important; top: 0; }

関連する問題