从对象键获取引用数组的最快方法
fastest way of getting an array of references from object keys
假设我有一个全局对象,看起来像这样:
var TheFruits = {
323: {},
463: {},
223: {} ..... // can be thousands of properties
}
基本上,键是id,值本身是对象。现在假设我有一个id数组,我将其传递给一个函数,并且我希望该函数返回一个引用数组,该数组指向与全局对象的id匹配的值。没有深度拷贝)。像这样:
function GetReferences(TheArrayOfIDs) {
var TheArrayOfReferences = [];
return TheArrayOfReferences;
}
现在我知道我可以写一个for循环遍历TheArrayOfIDs然后在每次迭代时遍历对象键但这是一个循环中的循环。所以我在寻找最快的方法,而jquery是可用的。
基本上,如果TheArrayOfIDs = [323, 463, 223];
,那么TheArrayOfReferences =[TheFruit.323, TheFruit.463, TheFruit.223];
谢谢。
你不需要第二个循环:
var results = [];
for (var i = 0; i < ids.length; i++)
results.push(fruits[ids[i]]);
你只需要做一个循环,因为键查找是内置的:
var TheArrayOfReferences = TheArrayOfIDs.map(function(id){return TheFruits[id]});
类似的东西应该可以工作:
var i = 0, l = TheArrayOfIDs.length;
for (i = 0; i < l; i++)
TheArrayOfReferences.push(TheFruits[TheArrayOfIDs[i]]);
相关文章:
- 数组在递归方法中设置为null
- 有没有一种方法可以添加相同的项目val=“0”;4〃;到JavaScript中数组的每个对象
- Javascript,有没有一种方法可以将数组写成没有逗号或空格的单个文本字符串
- 是否有任何方法可以使用jQuery替换在数组中定义值的文本
- 用于检查数组中是否存在元素的javascript自定义方法
- call()和apply()实际上是用来欺骗方法处理类似数组的对象的
- 从数组中删除元素的最佳方法是:javascript/jquery
- knex:根据结果创建数组的合适方法是什么
- 将数组从javascript格式化为php的更好方法,反之亦然
- 如何创建一个方法来验证数组的范围
- 使用filter和map方法将数组中某些元素的第一个字母大写-JavaScript
- 解析带有嵌入式数组的JSON对象,方法
- 查找对象数组是否包含其中一个标记的最快方法
- 如何用Typescript用自定义方法实现类数组
- 在 JavaScript 数组中的所有元素之间穿插元素的简洁方法
- 使用Underscore.js修改json数组中所选元素的更有效方法
- 选择具有值数组的所有元素的最有效方法
- JavaScript 中的范围(为什么在 $.post() 方法数组的作用域是本地的?)
- Javascript方法不填充方法(数组)
- Objects筛选方法数组中的THIS关键字