Array.find(value)返回值'不是函数'
Array.find(value) return value 'is not a function'
我试图在AngularJS数组上使用JavaScript的find()
函数。这是合法的,对吧?
这个非常简单的代码给我带来了一些问题。它说$scope.names.find(name1)
的返回值不是一个函数。
TypeError: Name1 is not a function
if($scope.names.find(name1) !== name1) {
$scope.names.push(name1);
}
我也试过…
if($scope.names.find(name1) === undefined) {
$scope.names.push(name1);
}
和
if(!$scope.names.find(name1)) {
$scope.names.push(name1);
}
这个if
在一个循环中。如果name
不在数组中,则添加它。如果它已经在数组中,就不要添加它。
下面是循环:
angular.forEach($scope.names1, function (name1) {
angular.forEach($scope.names2, function (name2) {
if (name1 === name2) {
$scope.names.push(name1);
}
});
if ($scope.names.find(name1) === name1) {
$scope.names.push(name1);
}
});
我不知道这个错误指的是什么。我一定是误用了find()
您需要使用indexOf
。你的代码片段应该是
if($scope.names.indexOf(name1) < 0) { //Value not exists in your array
$scope.names.push(name1);
}
也可以考虑使用下划线。js中有很多有用的函数,包括_.find()
相关文章:
- 根据是否解析了 Promise 从函数返回值
- 从Ajax函数返回值
- 如何从嵌套的API函数返回值
- 从异步函数返回值
- 我如何才能继续'如果'语句来比较作为参数的多个函数返回值
- 从节点中的回调函数返回值
- 提交时不采用函数返回值.并且没有按预期行事
- 如何从工厂传递的函数返回值
- 为什么在循环中返回时函数返回值未定义
- 从JavaScript中的嵌套函数返回值
- 存在从函数返回值的问题
- 如何从setinterval函数返回值
- javascript:从匿名函数返回值
- angularjs从html调用函数返回值
- 从命名函数返回值
- 无法从Javascript中的嵌套函数返回值
- 这是显示javascript函数返回值的最佳方式吗
- 使用ajax和回调函数向函数传递值/从函数返回值
- 构造函数中的函数返回值
- 尝试从开关语句 -JS- 中的函数返回值