查找数组中{j}对象的值

时间:2017-06-28 16:40:11

标签: javascript arrays

你真的很新的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 = ?;
}

6 个答案:

答案 0 :(得分:1)

Array#find

的示例



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)

您可以遍历数组并获取object属性值,如下所示:

<Car object at 0x7fe4c4a1bfd0>

Documentation for "Array.some" method

答案 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