मैं यह देखना चाहता था कि ऐसा करने के लिए अपेक्षाकृत सरल विधि है या नहीं क्योंकि मैं निम्नलिखित का उपयोग कर सकता हूं:

var arr = [ "Client", "ActType", "CallRepType"];
var arr2 = [ "ECF", "Meeting", "Call Report"]
var myobj = arr2.map(value => ({'Client': arr2[0], 'ActType': arr2[1], 'CallRepType': arr2[2]}));

लेकिन मुझे एक ही सही वस्तु लगातार 3 बार मिलती है ... मैं बस एक ही वस्तु लौटाना चाहता हूं जो दिखता है:

{Client: 'ECF', ActType: 'Meeting', CallRepType: 'Call Report'}

मुझे पता है कि मैं दोनों arrays के माध्यम से लूप कर सकता हूं, लेकिन मैं map का उपयोग करके एक समाधान प्राप्त करने की उम्मीद कर रहा था, javascript में प्रसार को कम या लाभ उठा रहा था ...

1
MattE 3 अप्रैल 2018, 23:52

3 जवाब

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

एक तेज़ समाधान जो Array.prototype.forEach() का उपयोग करता है:

var arr = [ "Client", "ActType", "CallRepType"];
var arr2 = [ "ECF", "Meeting", "Call Report"]
var result = {};
arr.forEach((el, i) => { result[el] = arr2[i]; });

console.log(result);

Array.prototype.forEach()`

2
Randy Casburn 3 अप्रैल 2018, 21:03

आप सरणी के माध्यम से लूप कर सकते हैं और इसे कर सकते हैं:

var arr = [ "Client", "ActType", "CallRepType"];
var arr2 = [ "ECF", "Meeting", "Call Report"];
var len = arr.length;
var myObj = {};
for (var i = 0; i < len; i++) {
    var myObject = {};
    myObj[arr[i]] = arr2[i]
   // myObj.push = myObject;
}

console.log(myObj);
0
Pritam Banerjee 4 अप्रैल 2018, 20:15

यह एक समाधान है जो Array.reduce()का उपयोग करता है वस्तु बनाने के लिए:

const arr = [ "Client", "ActType", "CallRepType"];
const arr2 = [ "ECF", "Meeting", "Call Report"]
const myobj = arr.reduce((r, key, i) => {
  r[key] = arr2[i];
  return r;
}, {});

console.log(myobj);
2
Ori Drori 3 अप्रैल 2018, 20:55