javascript - 在数组中查找对象(具有属性的自定义对象)

标签 javascript

我正在尝试找出是否有更好的方法来完成我在这里所做的事情。

我构建了一个 customColumn 对象,它具有一些属性,例如 ID 和 Title 等......

即。我的 cusColum = new aColumn('321', 'Todds Column');

然后将所有这些列放入一个数组中 - 所以这个数组包含对象而不是简单的值。

所以我这样做是为了在我的数组中找到一个特定的对象:

var len = columnObjects.length;
    for (var i = 0; i < len; i++) {
        if (columnObjects[i].colID == id) {
            columnObjects.splice(i, 1);
            break;
        }      

拼接只是我对这些对象所做的一件事...我希望能够使用 IndexOf 函数但不知道我将如何编写它或者是否可能...

最佳答案

一种可能的解决方案是使用关联数组来存储您的列对象。填充数组时,你会做类似的事情:

var columnObjects = {};

// your probably populating in a loop
columnObjects['321'] = new aColumn('321', 'Todds Column');

然后当你想通过 id 获取一个对象时,你说:

columnObjects[id];

您还可以使用关联数组对同一对象使用多个键:

var id = '321';
var owner = 'Todds Column';
var column = new aColumn(id, owner);
columnObjects[id] = column;
columnObjects[owner] = column;

我还可以想到其他一些解决方案,但这是第一个想到的。

关于javascript - 在数组中查找对象(具有属性的自定义对象),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4431127/

相关文章:

javascript - 互斥图像

javascript - 动态地将 ng-repeat 添加到 HTML 元素中

Javascript/jQuery 图例小部件

javascript - 如何向平面图添加背景图像?

javascript - 在 Handlebars.js 中循环遍历多维数组

javascript - styled.TouchableOpacity 组件中 props.style 的类型是什么?

javascript - 如何对 jQuery DataTables 中的列值进行后处理

c# - 获取客户端的 IP 地址和计算机名称?

javascript - 为什么在使用 jQuery replaceWith() 时标记 <constructor> 会导致 'undefined'?

javascript - 哪个函数是真正的闭包?