如何使用jQuery在JavaScript数组中搜索字符串?

前端之家收集整理的这篇文章主要介绍了如何使用jQuery在JavaScript数组中搜索字符串?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
参见英文答案 > Access / process (nested) objects,arrays or JSON12个
我有一个JavaScript数组:
var j_array = new Array();
j_arry=["class:1","division:a","class:5","class:3","division:b","division:c","division:d","class:10"];

我需要找到班级来的多少次及其数组键,所以我使用:

found = $.inArray('class',j_array); ` But it returns `-1`;

然后我用:

var search = 'class';
$.each([j_array],function(index,value){
    $.each(value,function(key,cell){
        if (search.indexOf(cell) !== -1)
            console.log('found in array '+index,cell);
    });
});

但这也是错的.我该如何解决

从这个数组我想得到以下内容

>等级4次,在键0,2,3和7
>我想单独制作一个类的数组,也就是说,

new_array = ["class:1","class:2","class:10"];

>目前j_array中有四个类.我如何获得第N类的价值

也就是说,第一类值=“类:1”,第二类值=“类:5”等

解决方法

使用 Array.prototype.filter过滤出包含字符串类的数组元素 – 请参见下面的演示:
var j_array =["class:1","class:10"];

var result = j_array.filter(function(e){
  return e.indexOf('class')!==-1;
});

console.log(result);

编辑:

获取索引列表,您可以尝试以下方式:

var j_array =["class:1","class:10"];

var filteredIndices = []

var filtered = j_array.filter(function(e,i){
  if(e.indexOf('class')!==-1) {
    filteredIndices.push(i);
    return true;
  } else {
    return false;
  }
});

console.log(filtered);
console.log(filteredIndices);

// Nth class value
console.log(filtered[2]); // this prints the 3rd one
.as-console-wrapper{top:0;max-height:100%!important;}
原文链接:https://www.f2er.com/jquery/176450.html

猜你在找的jQuery相关文章