简体   繁体   English

我有 javascript 中 object 的 object 形式的数据

[英]i have data in the form of object of object in javascript

Hi everyone I have object of object and I just want to combine data inside inner object in the form of array is there any way to that大家好,我有 object 的 object,我只想以数组的形式组合内部 object 中的数据,有什么办法吗

input data输入数据

 let data = { ok123b:{ name:'shanu' }, of123b:{ name:'rahul' }, og1453jdfk:{ name:'ak' }, ok1kjjdde23b:{ name:'man' } } let arrayOfData =[data.ok123b.name,data.of123b.name,data.og1453jdfk.name,data.ok1kjjdde23b.name] console.log(arrayOfData); //this is hard coded i want dynamic code to convert data in the form of array

expected output预计 output

output  = ['shanu','rahul','ak','man'];

There are several ways you can achieve this.有几种方法可以实现这一点。 I have updated my answer to include these.我已经更新了我的答案以包括这些。

Solution 1 ( For loop and push() method)解决方案 1( For循环和push()方法)

You can use a simple for loop and push (add) each object's name to the array.您可以使用一个简单for循环并将每个对象的名称push (添加)到数组中。

 let data = { ok123b:{name: 'shanu'}, of123b:{name: 'rahul'}, og1453jdfk:{name:'ak'}, ok1kjjdde23b:{name: 'man'} } let arrayOfData = []; for(item in data) { arrayOfData.push(data[item]['name']) } console.log(arrayOfData);

Solution 2 (Using Object.values() and map() method)解决方案 2(使用Object.values()map()方法)

 let data = { ok123b:{name: 'shanu'}, of123b:{name: 'rahul'}, og1453jdfk:{name:'ak'}, ok1kjjdde23b:{name: 'man'} } let r = Object.values(data); let result = r.map((element) => element.name) console.log(result);

Solution 3 (One liner using Object.entries() and map() method)解决方案 3(一个班轮使用Object.entries()map()方法)

 let data = { ok123b:{name: 'shanu'}, of123b:{name: 'rahul'}, og1453jdfk:{name:'ak'}, ok1kjjdde23b:{name: 'man'} } let result = Object.entries(data).map(a=>a[1].name) console.log(result);

However as @Chris G mentioned, this is a very common question so you should probably browse similar questions such as:然而,正如@Chris G 提到的,这是一个非常常见的问题,因此您可能应该浏览类似的问题,例如:

hi everyone if any one have same problem here is the solution大家好如果有人有同样的问题这里是解决方案

 let data = { ok123b:{ name:'shanu' }, of123b:{ name:'rahul' }, og1453jdfk:{ name:'ak' }, ok1kjjdde23b:{ name:'man' } } let r=Object.values(data); let result =r.map((el) =>el.name) console.log(result);

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM