Javascript 如何将对象的数组转换为一维数组?
我有一个javascript对象数组的例子,在一个对象中有一个对象。所以我基本上只想把它放到一维数组中 我已经搜索了很多Q,但没有一个符合我的要求 我所拥有的Javascript 如何将对象的数组转换为一维数组?,javascript,jquery,arrays,datatables,Javascript,Jquery,Arrays,Datatables,我有一个javascript对象数组的例子,在一个对象中有一个对象。所以我基本上只想把它放到一维数组中 我已经搜索了很多Q,但没有一个符合我的要求 我所拥有的 [ { "id": "59cf758f7bdf8d2e0c1c68c7", "value": { "city": "Mahbubnagar", "state": "Andhra Pradesh", "country": "India" } }, { "id": "59cf758f7bdf8d2e0c1c68c8", "valu
[
{
"id": "59cf758f7bdf8d2e0c1c68c7",
"value": {
"city": "Mahbubnagar",
"state": "Andhra Pradesh",
"country": "India"
}
},
{
"id": "59cf758f7bdf8d2e0c1c68c8",
"value": {
"city": "Udgir",
"state": "Maharashtra",
"country": "India"
}
},
{
"id": "59cf758f7bdf8d2e0c1c68c9",
"value": {
"city": "Umarga",
"state": "Maharashtra",
"country": "India"
}
},
{
"id": "59cf758f7bdf8d2e0c1c68ca",
"value": {
"city": "Umarkhed",
"state": "Maharashtra",
"country": "India"
}
},
{
"id": "59cf758f7bdf8d2e0c1c68cb",
"value": {
"city": "Umred",
"state": "Maharashtra",
"country": "India"
}
}
]
我只是想把这个对象数组变成一个数组
[
"59cf758f7bdf8d2e0c1c68c7",
"Mahbubnagar",
"Andhra Pradesh",
"India",
],[
"59cf758f7bdf8d2e0c1c68c9",
"Umarga",
"Maharashtra",
"India",
],[
"59cf758f7bdf8d2e0c1c68ca",
"Umarkhed",
"Maharashtra",
"India",
],[
"59cf758f7bdf8d2e0c1c68c7",
"Mahbubnagar",
"Andhra Pradesh",
"India",
],
对象数组可以有更多的子对象,换句话说,你可以说它的动态内容
到目前为止,我使用的是
var object= property.value.elements;
var finalArray = object.map(function (obj) {
return obj.id;
});
console.log(finalArray);
只给了我一张身份证的清单
这不是重复的问题,请在将其标记为重复之前进行验证。尝试以下操作
var arr=[{id:59cf758f7bdf8d2e0c1c68c7,值:{city:Mahbubnagar,state:Andhra Pradesh,country:India}},{id:59cf758f7bdf8d2e0c1c68c8,值:{city:Udgir,state:Maharashtra,country:India},{id:59CF758F7BDF8D2E0C68C9,值:{city:Umargarga,state:Maharashtra,country:India},{id:CF758D08C68C8,country:Maharashtra,country:India},{id:59cf758f7bdf8d2e0c1c68cb,值:{城市:乌姆雷德,州:马哈拉施特拉邦,国家:印度}}];
函数getValsobj,arr{
Object.entriesobj.forEach[键,值]=>{
iftypeof值===对象{
arr=[…arr,…getValsobj[key],arr];
}否则{
arr.pushvalue;
}
};
返回arr;
}
var resp=arr.mapitem=>{
设temp=[];
获取项目,温度;
返回温度;
};
console.logresp;您可以检查对象的值是否为对象,并获取结果的展平值 函数平面对象{ 返回对象 .价值主体 .reducer,v=>r.concatv和&typeof v=='object'?flatv:v,[]; } var数组=[{id:59cf758f7bdf8d2e0c18c7,值:{city:mahbunagar,state:Andhra Pradesh,country:India}},{id:59cf758f7bdf8d2e0c18c8,值:{city:Udgir,state:Maharashtra,country:India},{id:59cf758f7bdf8d2e0c18c9,值:{city:Umarga,state:Maharashtra,country:India},{id:59cf758d7bdf8c8c8c8c8c8c8c8c8c8c8c8c8c8c6c8,值:{城市:乌马尔基德,州:马哈拉施特拉,国家:印度},{id:59cf758f7bdf8d2e0c1c68cb,值:{城市:乌姆雷德,州:马哈拉施特拉,国家:印度}], 结果=array.mapflat; console.logresult;
.as console wrapper{max height:100%!important;top:0;}这不是最简单的方法。只需循环所有对象并提取它们的值
let x = [{"id": "59cf758f7bdf8d2e0c1c68c7", "value": {...}, ..]
let res = []
x.forEach((obj, index) => {
res.push([obj.id, obj.value.city, obj.value.state, obj.value.country])
})
console.log(res)
您的示例输出在语法上不正确。怎么不正确?@ninesaltI已经添加了我尝试过的内容@NinaScholzCopy/再次粘贴您的输出…您发布的内容不正确您的输出只是一系列未包装在数组中的数组。您可能想将字符串包装在对象[{},{}…]这对数组中的多个级别的对象有效吗?还是只对两个级别的@nikhilThanks很多@nikhil有效