Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何找出数组中包含的项的位置?_Javascript - Fatal编程技术网

Javascript 如何找出数组中包含的项的位置?

Javascript 如何找出数组中包含的项的位置?,javascript,Javascript,我知道项目的名称,并想知道它在数组中的位置,我该如何做?使用数组的indexOf方法。如果不存在,则添加它(代码示例或其他位置) ["a","b","c","d","e"].indexOf("c") 2 如果要按名称属性查找值,请执行以下操作: for (var i = 0; i < this.length; i++) { if(this[i].name == name) { return i; } } return -1; for(var i=0;i

我知道项目的名称,并想知道它在数组中的位置,我该如何做?

使用数组的
indexOf
方法。如果不存在,则添加它(代码示例或其他位置)

["a","b","c","d","e"].indexOf("c")
2
如果要按名称属性查找值,请执行以下操作:

for (var i = 0; i < this.length; i++) {
    if(this[i].name == name) {
        return i;
    }
}
return -1;
for(var i=0;i
使用数组的
索引方法。如果不存在,则添加它(代码示例或其他位置)

如果要按名称属性查找值,请执行以下操作:

for (var i = 0; i < this.length; i++) {
    if(this[i].name == name) {
        return i;
    }
}
return -1;
for(var i=0;i
您可以在阵列中循环:

var array = ['item1', 'item2', 'item3'];
function findIndex(array, item) {
    for (var i = 0; i < array.length; i++) {
        if (array[i] === item) {
            return i;
        }
    }
    return -1;
}

alert(findIndex(array, 'item2'));
var数组=['item1','item2','item3'];
函数findIndex(数组,项){
对于(var i=0;i
或者对更复杂的类型使用比较器函数:

var array = ['item1', 'item2', 'item3'];
function findIndex(array, comparer) {
    for (var i = 0; i < array.length; i++) {
        if (comparer(array[i])) {
            return i;
        }
    }
    return -1;
}

var index = findIndex(array, function(item) { 
    return item === 'item2' ;
});
var数组=['item1','item2','item3'];
函数findIndex(数组、比较器){
对于(var i=0;i
您可以在阵列中循环:

var array = ['item1', 'item2', 'item3'];
function findIndex(array, item) {
    for (var i = 0; i < array.length; i++) {
        if (array[i] === item) {
            return i;
        }
    }
    return -1;
}

alert(findIndex(array, 'item2'));
var数组=['item1','item2','item3'];
函数findIndex(数组,项){
对于(var i=0;i
或者对更复杂的类型使用比较器函数:

var array = ['item1', 'item2', 'item3'];
function findIndex(array, comparer) {
    for (var i = 0; i < array.length; i++) {
        if (comparer(array[i])) {
            return i;
        }
    }
    return -1;
}

var index = findIndex(array, function(item) { 
    return item === 'item2' ;
});
var数组=['item1','item2','item3'];
函数findIndex(数组、比较器){
对于(var i=0;i
此项的类型是什么?您的意思是,您知道数组中某项的值并希望知道数字键,还是知道对象/关联数组中某项的键/属性名称并希望知道位置?缺少规范:如果元素在数组中出现多次,您希望发生什么情况?如果找不到元素会发生什么?该项的类型是什么?您的意思是,您知道数组中某项的值,并且希望知道数字键,或者您知道对象/关联数组中某项的键/属性名称,并希望知道其位置?缺少规范:如果元素在数组中出现多次,您希望发生什么情况?如果找不到元素该怎么办?+1 OP注意:注意,并非所有实现都有此功能;请参阅Mark Byers的答案,了解如果没有它该怎么办。+1 OP注意:请注意,并非所有实现都有此功能;请参阅Mark Byers的答案,了解如果它不存在该怎么办。如果(!Array.prototype.indexOf){
,那不应该是
吗?我非常确定
数组
(构造函数)从来没有
indexOf
在它上面。谢谢你的链接。我不知道这一点。@t.J.Crowder:在Mozilla实现中,我不知道为什么构造函数有原型成员…
Array.hasOwnProperty('indexOf'))==是的;
…你不觉得很奇怪吗?@CMS:是的。文档中没有提到。我仍然会检查原型。:-(刚刚验证过;Firefox两者都有。)@t.J.Crowder:是的,我也找不到任何文档,看起来像是“Mozilla扩展”,我不确定他们为什么这么做……如果(!Array.prototype.indexOf){
?我很确定
Array
(构造函数)上从来没有
indexOf
。谢谢你的链接。我不知道这个。@t.J.Crowder:在Mozilla实现中,我不确定构造函数为什么有原型成员…
Array.hasOwnProperty('indexOf'))==是的;
…你不觉得很奇怪吗?@CMS:是的。文档中没有提到。我仍然会检查原型。:-(刚刚验证过;Firefox两者都有。)@t.J.Crowder:是的,我也找不到任何文档,看起来像是“Mozilla扩展”,我不确定他们为什么这么做。。。