मेरे पास एक बड़ी सरणी है, जिसे मैंने प्रश्न के उद्देश्य के लिए सरल बनाया है

[
  {"item1": 3, "item40": 2},
  {"item1": 4, "item40": 8}
]

मैं इसके साथ समाप्त करना चाहता हूं, जो वस्तुओं की सरणी में प्रत्येक समान संपत्ति का योग है। मैंने बहुत कोशिश की। एक forEach कर रहा है जिसमें एक forIn अंदर है। लेकिन मैं फंस गया हूँ। कृपया सहायता कीजिए :)

[५, १२]

0
Johansrk 14 जिंदा 2021, 19:49

2 जवाब

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

आप Array.prototype.map() Array.prototype.reduce() परिणाम प्राप्त करने के लिए। मानचित्र का उपयोग करके सरणी को पार करें, Object.values() और अंत में, कम करके मानों का योग करें।

const data = [
  { item1: 3, item40: 2 },
  { item1: 4, item40: 8 },
];
const ret = data.map((x) => Object.values(x).reduce((p, c) => p + c, 0));
console.log(ret);
3
mr hr 14 जिंदा 2021, 19:57

यह .map सरणी में मानों पर लूप करने के लिए, फिर उपयोग करता है Object.values प्रत्येक ऑब्जेक्ट में मानों को एक सरणी के रूप में प्राप्त करने के लिए और [.reduce] उन्हें योग करने के लिए:

const arr = [
  {"item1": 3, "item40": 2},
  {"item1": 4, "item40": 8}
];

const result = arr.map((obj) => Object.values(obj).reduce((acc, cur) => acc + cur, 0));

console.log(result);
2
Alexander Nied 14 जिंदा 2021, 19:53