我试图找出是否有更好的方法来做我在这里做的事情。
我构建了一个customColumn对象,它有一些属性,比如ID和Title等......
即。我的cusColum =新的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函数,但不知道我会怎么写它或者它是否可能......
答案 0 :(得分:2)
一种可能的解决方案是使用关联数组来存储columnObjects。填充数组时,您可以执行以下操作:
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;
我可以想到其他一些解决方案,但这是我想到的第一个解决方案。
答案 1 :(得分:0)
您可以使用Linq
var objectsFound = Enumerable.From(columnObjects).Where(function (x) {
return x.colID === id}).FirstOrDefault(null);
if (objectsFound)
do something....