Javascript 角度搜索对象数组

Javascript 角度搜索对象数组,javascript,angularjs,arrays,Javascript,Angularjs,Arrays,以角度搜索对象数组的特定参数的最佳方法是什么 我从角度foreach填充数组: $scope.arrayiwanttosearch = []; angular.forEach(data, function(value, key) { try{ var arrstring = new Array(); arrstring = value.img.

以角度搜索对象数组的特定参数的最佳方法是什么

我从角度foreach填充数组:

  $scope.arrayiwanttosearch = [];

  angular.forEach(data, function(value, key) {
                        try{
                        var arrstring = new Array();
                        arrstring = value.img.split(',');

                            obj.name = value.name;
                            obj.selectedcolor = arrstring[0];
                            obj.colors = value.img;
                            obj.ischanging = false;
                            $scope.arrayiwanttosearch.push(obj);
                        }
                        catch(ex){
                        }  
                       })

我只能使用array.index of,当它是一个没有对象的数组时,有没有一种不使用for循环的方法?我正在尝试查找对象的索引,该对象的obj.name==“test”

您可以使用本机javascript“”,它将返回数组的所有匹配成员,或者使用“”返回它找到的第一个成员,或者“”


ES6 JS表示法,但很容易适应ES5 JS。

您可以使用
Array.prototype
获取对象数组中的索引值

var index = $scope.arrayiwanttosearch.indexOfname("test");

Array.prototype.indexOfname = function(name) {
    for (var i = 0; i < this.length; i++)
        if (this[i].name === name)
            return i;
    return -1;
}
var index=$scope.arrayiwanttosearch.indexOfname(“测试”);
Array.prototype.indexOfname=函数(名称){
for(var i=0;i
我正在尝试查找具有obj.name的对象的索引== “测试”

这是一个直接的用法

var arrayiwanttosearch=[
{
名称:“nottest”
},
{
名称:“测试”
}
];
var index=arrayiwanttosearch.findIndex(obj=>obj.name==“test”);

控制台日志(索引)这将返回对象而不是索引
var index = $scope.arrayiwanttosearch.indexOfname("test");

Array.prototype.indexOfname = function(name) {
    for (var i = 0; i < this.length; i++)
        if (this[i].name === name)
            return i;
    return -1;
}