数组列表项搜索

Array List Item Search

本文关键字:搜索 列表 数组      更新时间:2023-09-26

有没有办法做到这一点:

var numbers = [156,845,34,849,5,48,54,8,879];

然后是一个条件来检查数组以查看是否有任何小于 10 的值并让它输出每个小于 10 的项目的索引值?

所以上面会输出 4 和 7

谢谢大家,现在正在工作

results = [];
for(key in numbers) {
    if (numbers[key] < 10) results.push(key);
}
console.log(results);
var numbers = [156,845,34,849,5,48,54,8,879];
var indexes=[];
numbers.map(function(num,index){ 
    if(num < 10) indexes.push(index);
})
console.log(indexes)

你能不写一个函数来做到这一点吗?

function membersLessThan(array, value)
{
    var indices = [];
    for(var i=0; i < array.length; i++)
    {
        if(array[i] < value) indices.push(i);
    }
    return indices;
}

编辑:使用示例:

var numbers = [156,845,34,849,5,48,54,8,879];
// contains 4 and 7
var lessthanten = membersLessThan(numbers, 10);

这段代码似乎有效:

var numbers = [156, 845, 34, 849, 5, 48, 54, 8, 879];
for (var i = 0; i < numbers.length; i++) {
    if (numbers[i] < 10) {
        console.log(numbers.indexOf(numbers[i]));
    }
}

小提琴

可以使用.each() .例:

    var numbers = [156,845,34,849,5,48,54,8,879];
    var ind_arr = [];
    $.each(numbers, function(ind, val){
        if(val < 10){
            ind_arr.push(ind);
        }
    });
    alert(ind_arr);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>