Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/460.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 键数组,在json对象中查找值_Javascript_Jquery_Arrays_Json_Object - Fatal编程技术网

Javascript 键数组,在json对象中查找值

Javascript 键数组,在json对象中查找值,javascript,jquery,arrays,json,object,Javascript,Jquery,Arrays,Json,Object,我有一个包含键的数组,我需要在json对象数组中查找 我的阵列: arr=['abc','xyz','pqr'] d、 数据格式: [{'abc': 123, 'xyz': 321, 'pqr': 345}, {'abc': 111, 'xyz': 222, 'pqr': 333}.....] 我有一个json对象 arr是一个键列表,我需要在对象的json数组中找到它们的值 我有一个巨大的数组(arr),这就是为什么我不想硬编码它 我曾尝试: arr.forEach(x => {

我有一个包含键的数组,我需要在json对象数组中查找

我的阵列:

arr=['abc','xyz','pqr']

d、 数据格式:

[{'abc': 123, 'xyz': 321, 'pqr': 345}, {'abc': 111, 'xyz': 222, 'pqr': 333}.....]
我有一个json对象

arr是一个键列表,我需要在对象的json数组中找到它们的值

我有一个巨大的数组(arr),这就是为什么我不想硬编码它

我曾尝试:

arr.forEach(x => {
   let valss = d.data.map(structure => Object.values(structure.x));
});
我得到一个
未捕获(承诺中)类型错误:无法将未定义或null转换为对象

如何在数组中输入键的值?

试试看

for(var j = 0; d.data.length; j++){
  for(var i = 0; i < arr.length; i++){
    let valss = d.data[j][arr[i]]
  }
}
for(var j=0;d.data.length;j++){
对于(变量i=0;i

提供数据示例后,您所需要做的就是遍历字典中的每个对象,然后遍历键以获取字典中的键。提供您期望的值。

您可以执行以下操作:

一个结果数组中的所有值:

var-arr=['abc','xyz','pqr'];
变量数据=[{'abc':123,'xyz':321,'pqr':345},{'abc':111,'xyz':222,'pqr':333}];
var结果=[];
对于(数据项){
arr.forEach(功能(el,i){
if(项目hasOwnProperty(el)){
结果推送(项目[el]);
}
});
}

控制台日志(结果)
如果您想获取
数据
数组中对象的值,只需在其中映射并仅返回值即可。像这样:
data.map((o)=>Object.values(o))

让arr=[“abc”、“xyz”、“pqr”];
让数据=[
{abc:123,xyz:321,pqr:345},
{abc:111,xyz:222,pqr:333},
];
让values=data.map((o)=>Object.values(o));

console.log(值)/[[123321345],[111222333]
您可以尝试以下方法:

var arr=['abc','xyz','pqr']
变量数据=[{'abc':123,'xyz':321,'pqr':345},{'abc':111,'xyz':222,'pqr':333}]
var values=arr.map(键=>{
设vals=data.map(val=>{
返回值[键]
})
返回VAL
})

console.log(values)
你能添加你正在寻找这个方法的结果的例子吗?我想使用数组中的键从d.data中获取值。你是否期望类似于
[[123,321,345],[111,222,333],…]
?这个问题与JSON无关,应该删除标记和所有引用(只是全局删除)“json”)。@noob我已经为您提供的数据结构添加了一个更改。循环数组中的每个对象,然后根据键循环字典中的每个项