Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/475.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何将对象的数组转换为一维数组?_Javascript_Jquery_Arrays_Datatables - Fatal编程技术网

Javascript 如何将对象的数组转换为一维数组?

Javascript 如何将对象的数组转换为一维数组?,javascript,jquery,arrays,datatables,Javascript,Jquery,Arrays,Datatables,我有一个javascript对象数组的例子,在一个对象中有一个对象。所以我基本上只想把它放到一维数组中 我已经搜索了很多Q,但没有一个符合我的要求 我所拥有的 [ { "id": "59cf758f7bdf8d2e0c1c68c7", "value": { "city": "Mahbubnagar", "state": "Andhra Pradesh", "country": "India" } }, { "id": "59cf758f7bdf8d2e0c1c68c8", "valu

我有一个javascript对象数组的例子,在一个对象中有一个对象。所以我基本上只想把它放到一维数组中

我已经搜索了很多Q,但没有一个符合我的要求

我所拥有的

[
{
"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有效