对象键的Angular / Javascript搜索数组

时间:2015-06-30 09:59:41

标签: javascript arrays angularjs

出于举例的目的,我们有以下对象:

var myobj = {id: 1, text: 'hello world', user_id: 5}

现在假设我们有一个数组:

var objectContainer = []

我们用x号myobj

填充此objectContainer

现在我们希望找到myobj值设置为id的{​​{1}}

你可以使用循环,但在最坏的情况下,你必须在找到你的值之前遍历整个数组。

所以我的问题是30是否有针对这些情况的函数,或者JaVaScript是否提供了额外的帮助来解决这个问题?

3 个答案:

答案 0 :(得分:1)

您有很多不同的解决方案:

  1. Javascript FIND:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/find 示例: var myobject = objectContainer.find(function(value){ return value.id === 1; });

  2. 角度过滤器:https://docs.angularjs.org/api/ng/filter/filter

  3. 如果您的ID是唯一的,您还可以使用地图而不是数组:

  4. 例如:

    var myobj = {id: 1, text: 'hello world', user_id: 5};
    
    var objectContainer = {};
    
    objectContainer[myobj.id] = myobj;  
    

答案 1 :(得分:0)

你的价值' x'是数组索引器。所以objectContainer [29]应该指向第30位的myobj。

答案 2 :(得分:0)

此外,您可以使用my solution在数组中查找对象。 但它仍会循环遍历数组的所有元素。