javascript - 如何遍历 JavaScript 中的对象数组?

标签 javascript json object

我正在使用 PHP 从我的数据库中获取“任务”并将其编码为 JSON。当我将数据传输到 javascript 时,我最终得到这样的结果:

Array {
   [0] => Task {
      id: 2,
      name: 'Random Task',
      completed: 0
   }
   [1] => Task {
      id: 8,
      name: 'Another task',
      completed: 1
   }
}

等等

我想我真正的问题是,通过任务 ID 查找任务的最有效方法是什么?遍历数组并检查每个对象似乎不是最有效的?还有其他方法吗?

最佳答案

关于 Javascript 对象的事情是它们是必不可少的 map 。您可以通过使用点表示法(“object.property”)和索引表示法(“object[”property“])来访问属性。您还可以通过其属性进行枚举,使用 for (i...) 或 for (在……)

for (var i = 0; i < arrayObj.length; i++) { ... }

for (var prop in arrayObj) { ... }

我最近一直在为数组对象构建一些 Linq 式扩展:

Array.prototype.Where = function(predicate) {
    Throw.IfArgumentNull(predicate, "predicate");
    Throw.IfNotAFunction(predicate, "predicate");

    var results = new Array();
    for (var i = 0; i < this.length; i++) {
        var item = this[i];
        if (predicate(item))
            results.push(item);
    }

    return results;
};

忽略我的自定义 Throw 类型,它基本上允许您执行以下操作:

var item = arrayObj.Where(function(i) { return (i.id == 8); }).FirstOrDefault();

如果您有兴趣,我会在某个时候发布所有内容?

关于javascript - 如何遍历 JavaScript 中的对象数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3116016/

相关文章:

python - 从 python 中的嵌套 JSON 文件访问值

c# - 如何在 .net core 3.0 中使用 System.Text.Json 反序列化部分 json?

javascript - 什么是 JavaScript 对象和属性?

java - 将对象的引用传递给 java 中的方法是一种好习惯吗?

javascript - 如何根据其他标签数组对带有标签的对象数组进行排序?

javascript - 如何实时显示 Javascript 输出?

php - 通过 HTTPRequestObject.send 函数通过 POST 发送到 php 文件的信息的位置

python - 如何使用pymongo获取Json文档的所有键?

javascript - 如何使用 JavaScript (lodash) 深度映射对象键?

Javascript 滚动视差定位