【问题标题】:how to find object 0 in array如何在数组中找到对象0
【发布时间】:2015-09-04 20:50:17
【问题描述】:

我有一个包含对象列表的数组。

我想检查我何时处于 0 对象,以便我可以跳过它并只处理对象 1 到 7。我的代码可以做到这一点,但我想知道是否有更优雅、更短的方法来执行此操作.

function doSomething(array) {
    var list = [];                      
    for (var i = 0; i < array.length; i++) {    
        if (i != 0) {                               
            list.push({
                name: array[i].name,
                last: array[i].last)
            });
        }           
    }
}

我决定在 ng-repeat $index 变量上使用 ng 指令 ​​ng-if 来跳过数组的第一个元素。

 <tr ng-repeat="item in list" ng-if="$index > 0">

因此,我使用 forEach 代替了 for 循环,这是我工作场所的首选技术:

        function doSomething(array) {
        list = [];              
        array.forEach(
            function (arrayList) {              
                list.push({
                    name: arrayList.name,
                    last: arrayList.last
                    });
            });                 
        }

感谢大家的帮助。

【问题讨论】:

  • 你的代码是什么样的?
  • “在”一个对象是什么意思?
  • 你总是可以从 1 开始计数
  • 那就从1开始吧! for(var i = 1; i
  • 我已经更新了我的问题,可以暂停吗?我还找到了一个解决方案,而不是在循环中进行更改,我将使用 ng 指令,因为它可以很好地满足我的需要。谢谢。

标签: javascript angularjs


【解决方案1】:

最常见的for 循环很容易做到这一点。

for (var i = 0; i < array.length; i++) {
  if(i !== 0){
   // do stuff
  }
}

你可以用很多不同的方式来做这件事。你甚至可以做

for (var i = 1; i < array.length; i++) {
  // do stuff
}

从数组结果 1 开始偏移整个计数

【讨论】:

  • 没试过,但是可以直接在标记中应用ngif指令吗?比如:
  • 我相信这确实有效,抱歉,我没有看到您使用的是 Angular。我知道您可以将$event$index 传递给函数,这样您就应该能够按照您所说的去做。
  • 感谢山的帮助
猜你喜欢
相关资源
最近更新 更多
热门标签