Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/452.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 - Fatal编程技术网

如何使用javascript从对象数组和单独对象中的数组中检索属性?

如何使用javascript从对象数组和单独对象中的数组中检索属性?,javascript,Javascript,我想从对象数组中检索某些属性并将其存储在数组中 数据结构如下所示 object_arr [{…}]0: first_property: "color" id: 25 x: 10 y: 50 z: 56 _proto__: Objectlength: 1__proto__: Array(0) 我想检索x、y和z值,因此输出应该如下所示 (3) [10, 50, 56] 0: 10 1: 50 2: 56 leng

我想从对象数组中检索某些属性并将其存储在数组中

数据结构如下所示

object_arr  [{…}]0: 
    first_property: "color"
    id: 25
    x: 10
    y: 50
    z: 56
    _proto__: Objectlength: 1__proto__: Array(0)
我想检索x、y和z值,因此输出应该如下所示

(3) [10, 50, 56]
    0: 10
    1: 50
    2: 56
    length: 3
__proto__: Array(0)

so final_output[0] should give me 10, final_output[1] should give me 50 and final_output[2] should give 56
我试过什么

let final_output = object_arr.map(m => {
       return [
           m.x,
           m.y,
           m.z
       ]
   });
最终的_输出如下所示

final_output [Array(3)]
    0: (3) [10, 50, 56]
    length: 1

 the expected output is as below,

 final_output (3) [10, 50, 56]
     0: 10
     1: 50
     2: 56
     length: 3
我怎样才能解决这个问题。有人能帮我吗。谢谢。

您可以清楚地看到:
最终_输出[阵列(3)]
0:(3)[10,50,56]
这是数组的数组。 因此,要获得值10,您必须执行:
final\u输出[0][0]。
或<代码>输出=最终输出[0] 然后
输出[0]

您可以清楚地看到:
最终_输出[阵列(3)]
0:(3)[10,50,56]
这是数组的数组。 因此,要获得值10,您必须执行:
final\u输出[0][0]。
或<代码>输出=最终输出[0]
然后
输出[0]

如果数组只包含一个对象,则可以直接将其属性添加到数组中,如下所示:

const object_arr=[{first_property:“color”,id:25,x:10,y:50,z:56}];
常数[{x,y,z}]=对象使用destructuring从数组中获取对象键
常数res=[x,y,z];//创建包含x、y、z属性的数组

控制台日志(res)如果数组仅包含一个对象,则可以将其属性直接添加到数组中,如下所示:

const object_arr=[{first_property:“color”,id:25,x:10,y:50,z:56}];
常数[{x,y,z}]=对象使用destructuring从数组中获取对象键
常数res=[x,y,z];//创建包含x、y、z属性的数组
控制台日志(res)执行以下操作:

let object_arr = { first_property: "color", id: 25, x: 10, y: 50, z: 56}
let final_output = [object_arr.x, object_arr.y, object_arr.z];
这样做:

let object_arr = { first_property: "color", id: 25, x: 10, y: 50, z: 56}
let final_output = [object_arr.x, object_arr.y, object_arr.z];

这很简单。我认为您的困惑源于试图将输入数组作为一个整体来使用。如果只需要第一个元素的数据,则不需要
map
。只需直接用
[0]
:

let object_arr=[{first_属性:“color”,id:25,x:10,y:50,z:56}]
设最终_输出=[object_arr[0].x,object_arr[0].z,object_arr[0].z];

log(最终输出)
这非常简单。我认为您的困惑源于试图将输入数组作为一个整体来使用。如果只需要第一个元素的数据,则不需要
map
。只需直接用
[0]
:

let object_arr=[{first_属性:“color”,id:25,x:10,y:50,z:56}]
设最终_输出=[object_arr[0].x,object_arr[0].z,object_arr[0].z];


console.log(final_output)
final_output=final_output[0]
有什么问题?您的预期输出是什么?我已经更新了我尝试过的代码的最终输出是什么样子的问题。@someuser2491当您的输入数组中有多个对象(而不是只有一个)时,您能显示预期输出吗我只回答字面上的问题,尽管我对这个问题很困惑:
finalOutput=(({x,y,z})=>[x,y,z])(object_arr[0])
。final_output=final_output[0]有什么问题
?您的预期输出是什么?我已经用我尝试过的代码更新了问题“最终输出是什么样子的”。@someuser2491当您的输入数组中有多个对象(而不是只有一个)时,您能显示预期输出吗?我只回答字面上的问题,尽管我对这个问题很困惑:
finalOutput=(({x,y,z})=>[x,y,z])(对象_arr[0])
。谢谢,这应该行得通。这可以用一个语句完成吗?我认为这不是输入格式。它周围有一个数组。谢谢,这应该行得通。这可以用一个语句完成吗?我认为这不是输入格式。它周围有一个数组。
flatMap
版本在re在输入数组中不止是一个元素。它可能是我们想要的,有一系列的
x
y
、和
z
值,但这似乎不太可能。@ScottSauyet我同意。我最初认为这似乎很奇怪,并且会想象它足以满足OPs的需要。然而,它似乎不太可能在OP之后,所以我假设如果他们使用数组,他们需要一个平面图。总的来说,这两个问题在我看来都不是很清楚,所以我对OP之后的内容给出了最好的估计(因此有两个解决方案)如果输入数组中有多个元素,
flatMap
版本会很奇怪。它可能是我们想要的,有一系列的
x
y
z
值,但这似乎不太可能。@ScottSauyet我同意。我最初认为它看起来很奇怪,并且会想象它是e不足以满足OPs需求。然而,似乎这不是OPs想要的,所以我假设如果他们使用数组,他们需要一个平面图。总的来说,这两个问题在我眼中都不是很清楚,所以我对OPs想要的东西给出了最好的估计(因此有两个解决方案)