मेरे पास इस तरह एक नेस्टेड सरणी है

array = [[1, 698],[32, 798],[69, 830],[95, 500]]

मैं एक ऐसा फ़ंक्शन करना चाहता हूं जो इस प्रारूप में परिणाम लौटाए

[
    {
        id: 1,
        score: 698
    },
    {
        id: 32,
        score: 798
    },
    {
        id: 69,
        score:830
    },
  ..... the rest of the array
]

मैंने लूप के लिए उपयोग किया लेकिन बिना किसी सफलता के, और मुझे नहीं पता कि स्थिति को कैसे पहुंचाया जाए।

for(var i = 0; i <= array.lenght ; i++){
    var obj={}
    var res = []
    res.push(array[i])
}
4
arkahn jihu 27 मार्च 2018, 17:35

5 जवाब

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

आप ES6 सिंटैक्स की शक्ति का लाभ उठा सकते हैं:

var array = [
          [1, 698],
          [32, 798],
          [69, 830],
          [95, 500],
        ];
var res = array.map(([id, score]) => ({id, score}));
console.log(res);
10
Mamun 27 मार्च 2018, 14:48

पहले आपको एक फ़ंक्शन की आवश्यकता होती है जो 2 तत्व सरणी लेता है और एक वस्तु देता है

const objBuilder = arr => return { id: arr[0], score: arr[1] }

आप त्रुटि प्रबंधन जोड़ना चाहेंगे, लेकिन यह मूल विचार है।

इसके बाद आप प्रत्येक मान (2 तत्व सरणी) को किसी ऑब्जेक्ट में बदलने वाले सरणी की सरणी पर पुनरावृति करना चाहते हैं। इसे मूल्यों पर मैपिंग कहा जाता है, और जेएस मूल रूप से इसका समर्थन करता है

const arrayOfObjects =  array.map(objBuilder)

यहां मानचित्र फ़ंक्शन के बारे में अधिक जानकारी: https://developer.mozilla.org/ en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/map

2
Jason 27 मार्च 2018, 14:47
var sampleArray = [[1, 698],[32, 798],[69, 830],[95, 500]];

var finalJson = sampleArray.map(([id, score]) => ({id, score}));


// Final Result
console.log(finalJson);
3
MyTwoCents 27 मार्च 2018, 14:38

array.prototype.map, destructuring और shorthand object litteral का प्रयोग करें:

var array = [[1, 698],[32, 798],[69, 830],[95, 500]];
var result = array.map(([id, score]) => ({id, score}));
console.log(result);
4
Faly 27 मार्च 2018, 14:37

आप Array.prototype.map()< का उपयोग कर सकते हैं /a> डिस्ट्रक्टिंग असाइनमेंट के साथ:

const array = [[1, 698],[32, 798],[69, 830],[95, 500]];
const result = array.map(([id, score]) => ({id, score}));

console.log(result);
6
Yosvel Quintero Arguelles 27 मार्च 2018, 14:40