मुझे इस सरणी को बदलने की जरूरत है

[ { _id: 'indoor', count: 12 }, { _id: 'outdoor', count: 34 } ]

इस परिणाम में:

{ label: ['in', 'out'], data: [12, 34]}

तो मुझे एक सरणी में लेबल (_id) प्राप्त करने और उन्हें कुछ अलग-अलग टेक्स्ट से बदलने की आवश्यकता है और मुझे डेटा सरणी के रूप में मान प्राप्त करने की आवश्यकता है। दोनों का क्रम निश्चित रूप से समान होना चाहिए।

दूसरे भाग के लिए मैं कुछ ऐसा करूँगा

array.map(c => c.count)

मैं वही काम लेबल मान के साथ कर सकता हूं, लेकिन मैं अलग-अलग टेक्स्ट का उपयोग कैसे करूं? उदा. 'इनडोर' को 'कार' से और 'आउटडोर' को 'प्लेन' से बदला जाना चाहिए।

1
user3142695 28 अक्टूबर 2019, 21:58

5 जवाब

const data = 
[ 
  { _id: 'indoor', count: 12 }, 
  { _id: 'outdoor', count: 34 } 
]
const result = {
  label: data.map(a => a._id.replace('door','')),
  data: data.map(e => e.count)
}

console.log(result)
1
OlegI 28 अक्टूबर 2019, 19:16
let labels = {
  indoor: 'car',
  outdoor: 'plaine'
};

let input = [{
  _id: 'indoor',
  count: 12
}, {
  _id: 'outdoor',
  count: 34
}];
let output = input.reduce((output, inObj) => {
  output.label.push(labels[inObj._id]);
  output.data.push(inObj.count);
  return output;
}, {
  label: [],
  data: []
});

console.log(output);
1
junvar 28 अक्टूबर 2019, 19:05
const arr = [ { _id: 'indoor', count: 12 }, { _id: 'outdoor', count: 34 } ];   
arr.map(o => [o._id === 'indoor' ? 'in' : 'out', o.count])
    .reduce((p, c) => ({
        label: [...p.label, c[0]]),
        data: [...p.data, c[1]])
    }), {
        label: [],
        data: []
    })
0
Federico 28 अक्टूबर 2019, 19:20
const data = [ { _id: 'indoor', count: 12 }, { _id: 'outdoor', count: 34 } ];

const indoor = data.filter((item) => item._id === 'indoor').map((i) => i.count);
const outdoor = data.filter((item) => item._id === 'outdoor').map((i) => i.count);

const res = { label: ['in', 'out'], data: [...indoor, ...outdoor]};

console.log(res);

आपको आगे देंगे:

{
  label: [
    "in",
    "out"
  ],
  data: [
    12,
    34
  ]
}
0
Nenad Borovčanin 28 अक्टूबर 2019, 19:12

मैप कॉल बैक में आप टेक्स्ट की जांच कर सकते हैं और आवश्यक स्ट्रिंग वापस कर सकते हैं

let data = [{
  _id: 'indoor',
  count: 12
}, {
  _id: 'outdoor',
  count: 34
}]

let newData = {
  label: data.map((item) => {
    if (item._id === 'indoor') {
      return 'in';
    } else {
      return 'out';
    }

  }),
  data: data.map(item => item.count)

};
console.log(newData)
0
brk 28 अक्टूबर 2019, 19:06