Javascript 如何通过在json配置';键';?
我在名为Javascript 如何通过在json配置';键';?,javascript,jquery,Javascript,Jquery,我在名为data的数组中有一个字符串中的数字数组,无法理解如何使用data在名为key的JSON上迭代 我尝试了for循环的一些变体,但无法: 去掉所需的数据,它会显示数字的错误 我还没有能够设计一个循环来迭代数组值,仅1到5。数组发生更改,因此它可以是[“5”、“2”、“3”] 有人能帮忙吗?非常感谢 var key = { "1" : "ID 1: Steve", "2" : "ID 2: Bob&q
data
的数组中有一个字符串中的数字数组,无法理解如何使用data
在名为key
的JSON上迭代
我尝试了for循环的一些变体,但无法:
[“5”、“2”、“3”]
var key = {
"1" : "ID 1: Steve",
"2" : "ID 2: Bob",
"3" : "ID 3: Paul",
"4" : "ID 4: Spencer",
"5" : "ID 5: Jimmy"};
data = ["1", "3", "5"]
期望输出:
[“ID1:Steve”、“ID3:Paul”、“ID5:Jimmy”]
只需迭代数据
数组,并从对象键
获取所有值作为数组,下面是一个示例
var键={
“1”:“ID 1:Steve”,
“2”:“ID 2:Bob”,
“3”:“身份证3:保罗”,
“4”:“ID 4:Spencer”,
“5”:“ID 5:吉米”
};
风险值数据=[“1”、“3”、“5”];
var newArr=data.map(n=>key[n]);
控制台日志(newArr)
另一个解决方案使用:迭代键的属性
。然后,如果该属性存在于数据中
将其添加到结果中
let key={
“1”:“ID 1:Steve”,
“2”:“ID 2:Bob”,
“3”:“身份证3:保罗”,
“4”:“ID 4:Spencer”,
“5”:“ID 5:吉米”
};
让数据=[“1”、“3”、“5”];
让结果=[];
for(键中的常数k){
if(数据包括(k)){
结果。按下(键[k]);
}
}
log(“结果::”,result)代码>您可以使用reduce
来实现这一点:
const键={
“1”:“ID 1:Steve”,
“2”:“ID 2:Bob”,
“3”:“身份证3:保罗”,
“4”:“ID 4:Spencer”,
“5”:“ID 5:Jimmy”};
常量数据=[“1”、“3”、“5”];
常数结果=数据减少((累计,i)=>{
累计推力(键[i]);
返回累计;
}, []);
控制台日志(结果)代码>
var键={
“1”:“ID 1:Steve”,
“2”:“ID 2:Bob”,
“3”:“身份证3:保罗”,
“4”:“ID 4:Spencer”,
“5”:“ID 5:Jimmy”};
//const desired=[“ID 1:Steve”、“ID 3:Paul”、“ID 5:Jimmy”]
常量数据=[“1”、“3”、“5”]
常量结果=[]
常量值=对象值(键)
//console.log(值);
data.forEach(项=>{
values.forEach(val=>{
如果(val.includes('ID'+项+:')){
结果推送(val)
}
})
})
控制台日志(结果)
您期望的输出是什么?您不认为在键
对象上循环并每次检查数组数据
是否作为项具有该属性是没有用的,而是应该在数据
数组上循环,从键
对象中获取所需的内容吗