你真的很新的javascript,我希望得到一些面临的问题的帮助。
所以我基本上有一个存储对象的数组。每个对象包含一个id和一个变量i,它是一个数字。我的问题是这样的:如何从具有id值的对象数组中提取i的值?我正在使用的id已经存储在具有i值的数组中。
var i = 1;
var id;
var b = {};
var y = [];
if(condition) {
b = {"123":i};
y.push(b);
}
if(condition) {
id = 123;
//Find corresponding i value for id "123" from object array y
i = ?;
}
答案 0 :(得分:1)
Semigroup

var hasOwn = Function.prototype.call.bind(Object.prototype.hasOwnProperty);
var i = 1;
var id;
var b = {};
var y = [];
var condition = true;
if (condition) {
b = {
"123": i
};
y.push(b);
}
if (condition) {
id = 123;
// Find corresponding i value for id "123" from object array y
// i = ? ;
var found = y.find(function(o) {
return hasOwn(o, id);
});
var f = found ? found[id] : found;
console.log(f);
}

答案 1 :(得分:0)
只需使用ObjectName[Key]
这就足以让您获得价值
与b[123]
答案 2 :(得分:0)
许多方法都可以做到这一点。这是其中之一。
var arr = [{id:1},{id:123}];
var obj = arr.filter(function(val){
if(val.id===123)
return val
})
console.log(obj,'obj')

答案 3 :(得分:0)
答案 4 :(得分:0)
const stuff = [
{
name: 'Leonardo',
id: 100
},
{
name: 'Donatello',
id: 101
},
{
name: 'Raphael',
id: 102
},
{
name: 'Michaelangelo',
id: 103
},
];
首先,在数组上使用Array.prototype.find()
方法查找其中具有所需ID的对象,并将其存储在entry
变量中。然后,记录该对象中与name
键对应的值。
const desired = 102;
const entry = stuff.find(item => item.id === desired);
console.log(entry.name);
答案 5 :(得分:-2)
在处理js
中的数组时尝试使用underscore.js(http://underscorejs.org)