मेरे पास लूप के लिए है जो डेटा की एक श्रृंखला के माध्यम से जाता है। मैं उन्नयन के परिणाम को संग्रहीत करना चाहता हूं [i]। ऊंचाई * 3.28084; एक सरणी में। अभी इसका लूप के बाहर केवल एक मान है।

     var data2 = [];


     for (var i = 0; i < elevations.length; i++) {
        data2 = elevations[i].elevation*3.28084; // convert meters to feet        
    }
2
blg2 28 मार्च 2018, 19:48

4 जवाब

सबसे बढ़िया उत्तर

आपको सरणी प्रविष्टियों को असाइन करने की आवश्यकता है, न कि सरणी के लिए:

data2[i] = elevations[i].elevation*3.28084;
// --^^^

वैकल्पिक रूप से, push का उपयोग करें:

data2.push(elevations[i].elevation*3.28084);
// --^^^^^^-------------------------------^
2
T.J. Crowder 28 मार्च 2018, 16:50

आपको अपना परिणाम उस सरणी में इस तरह धकेलना होगा:

var data2 = [];
     for (var i = 0; i < elevations.length; i++) {
        data2.push(elevations[i].elevation*3.28084); // convert meters to feet        
    }

या आप मानचित्र का उपयोग करके उस सरणी में डेटा सम्मिलित कर सकते हैं:

    var data2 = elevations.map(function(value){
return value.elevation*3.28084;
}
-2
Mehdi Jemhour 28 मार्च 2018, 16:53

आप केवल पहले घोषित चर data2 के लिए एक मान निर्दिष्ट कर रहे हैं, सरणी में नए मान जोड़ने के लिए push फ़ंक्शन का उपयोग करें, या उस सरणी में नए मान जोड़ने के लिए वर्तमान अनुक्रमणिका का उपयोग करें।

var data2 = [];

for (var i = 0; i < elevations.length; i++) {
  data2.push(elevations[i].elevation * 3.28084); // convert meters to feet        
}
0
Ele 28 मार्च 2018, 16:50

आप नए आइटम elevation[i].elevation * 3.28084 को ऐरे में पुश करना चाहते हैं। हालांकि, Array.prototype का उपयोग करना अधिक सुविधाजनक है। .नक्शा:

var data2 = elevations.map(function (elevation) {
  return elevation.elevation * 3.28084
})
3
dfsq 28 मार्च 2018, 16:52