अगर मेरे पास वस्तुओं की एक सरणी है:

arr = [{from: 10, to: 20}, {from: 15, to: 25}]

मैं इसे किसी ऑब्जेक्ट में बदल सकता हूं:

const object = Object.assign({}, arr)

जो लौटाता है:

{
  0: {from: 10, to: 20},
  1: {from: 15, to: 25}
}

मैं इसके बजाय कैसे प्राप्त करूं?

{
  1: {from: 10, to: 20},
  2: {from: 15, to: 25}
}
1
Mirco Cattabriga 21 अप्रैल 2021, 11:51

2 जवाब

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

समस्या (▔﹏▔)≡

आपको सूचकांक 0 से मिल रहा है। क्योंकि एक सरणी जावास्क्रिप्ट में एक वस्तु है। तो सूचकांक वस्तु की कुंजी के रूप में कार्य करता है।

उदाहरण के लिए, पहला तत्व प्राप्त करने के लिए सरणी को नष्ट करें:

const array = [{from: 10, to: 20}, {from: 15, to: 25}];
const {0: first} = array;
console.log(first); // {from: 10, to: 20}

समाधान (❁´◡`❁)

तो आप इसे Array#reduce इस तरह।

const array = [{from: 10, to: 20}, {from: 15, to: 25}];
const object = array.reduce((acc, curr, index) => (acc[index+1] = curr, acc), {})
console.log(object);
3
Nguyễn Văn Phong 23 अप्रैल 2021, 07:19

ठीक है, समाधान प्रतीत होता है

arr = [{from: 10, to: 20}, {from: 15, to: 25}]

const object = Object.assign({}, [,...arr])

console.log(object)
2
georg 21 अप्रैल 2021, 12:22