返回深度嵌套数组中对象索引的函数

iam*_*box 3 javascript arrays indexing

我可能需要编写一个只输出数组内对象索引的函数,显然,在下面的示例中使用 $.inArray 返回它就好了。

array = ['one', 'two', 'three'];

$.inArray('one', array) // 0
Run Code Online (Sandbox Code Playgroud)

使用更精细的数组,如何找到嵌套在其中的对象的索引?

array = [
    {
        name: 'One', // index??
        data: {
            title: 'Title One',
            content: 'Content One'
        }
    },
    {
        name: 'Two',
        data: {
            title: 'Title Two',
            content: 'Content Two'
        }
    },
    {
        name: 'Three',
        data: {
            title: 'Title Three',
            content: 'Content Three'
        }
    }
];
Run Code Online (Sandbox Code Playgroud)

我听说过 $.grep() 方法, indexOf() .. 不确定使用哪个方法只返回对象所在索引的整数

Den*_*nis 5

您不需要预先编写的函数,只需遍历数组并比较name属性:

function findValue(array, nameWeAreLookingFor) {
    for(var i = 0; i<array.length; i++) {
        if(array[i].name === nameWeAreLookingFor) return i;
    }
    return -1;
}
Run Code Online (Sandbox Code Playgroud)