【发布时间】:2013-11-14 04:42:28
【问题描述】:
$scope.lastentries = []
e = {'min': $scope.minFoc, 'max': $scope.maxFoc, 'pas': $scope.pas}
$scope.lastentries.push(e)
我想查找 e 是否已经存储在数组中: 不幸的是,$scope.lastentries 中的 e 不起作用。 似乎没有看所有的领域,可能比较了一些“参考”。
当然,我可以在数组中循环并逐个字段比较所有结构。 但是有没有更简单的方法?类似 in 但会比较所有字段。
到目前为止,我正在做:
v = $scope.lastentries.filter (x) -> x.min == e.min and x.max == e.max and x.pas == e.pas
$scope.lastentries.push(e) if v.length == 0
如果有人有更“紧凑”/更好的做法,请分享。 谢谢!
【问题讨论】:
-
它没有查看 任何 字段;对象按 ID 进行比较。您只能通过手动迭代数组并比较要用于测试相等性的任何一个或多个字段来做到这一点。
标签: javascript arrays coffeescript compare