javascript - 在数组中查找 javascript 对象的值

标签 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 = ?;
}

最佳答案

Array#find 为例

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);
}
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/es5-shim/4.5.9/es5-shim.min.js"></script>
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/es5-shim/4.5.9/es5-sham.min.js"></script>
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/json3/3.3.2/json3.min.js"></script>
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/es6-shim/0.35.3/es6-shim.js"></script>
<script type="text/javascript" src="https://wzrd.in/standalone/es7-shim@latest"></script>

关于javascript - 在数组中查找 javascript 对象的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44808235/

相关文章:

javascript - 使用 BreezeJS 获取 DateTime 类型的日期

javascript - 我的指令没有触发

java - 按命中次数对二维数组进行排序

javascript - JavaScript。如何选择数组中的任意几项

c# - 为什么不允许 Array.Count 作为自己的索引值?

javascript - 通过 import() 检索模块时捕获 403 错误

javascript - 选择更改时阻止多个选择滚动到顶部

Javascript 函数不在加载时获取数据

python - numpy.unique 没有给出预期的输出

java - System.arrayCopy() 复制对象或对对象的引用?