首页 > 其他分享 >json 数组查找数据的几种方式,包括模糊查找

json 数组查找数据的几种方式,包括模糊查找

时间:2023-12-26 15:48:10浏览次数:26  
标签:name jsonArray var json 查找 result 数组 Jane id

来源:http://www.shanhubei.com/archives/3418.html

在 JavaScript 中,有几种常见的方式可以用来查找 JSON 数组中的数据。下面介绍了其中的几种方式:

1.使用 find() 方法: find() 方法用于在数组中查找满足指定条件的第一个元素,并返回该元素。它接受一个回调函数作为参数,该回调函数会对数组中的每个元素进行执行,如果回调函数返回 true,则返回该元素,否则返回 undefined。

var jsonArray = [
  { id: 1, name: 'John' },
  { id: 2, name: 'Jane' },
  { id: 3, name: 'Alice' }
];
 
var result = jsonArray.find(function(item) {
  return item.id === 2;
});
 
console.log(result); // { id: 2, name: 'Jane' }

 


2.使用 filter() 方法: filter() 方法用于在数组中查找满足指定条件的所有元素,并返回一个包含符合条件的元素的新数组。它也接受一个回调函数作为参数,并在回调函数返回 true 时将当前元素添加到结果数组中。

var jsonArray = [
  { id: 1, name: 'John' },
  { id: 2, name: 'Jane' },
  { id: 3, name: 'Alice' }
];
 
var result = jsonArray.filter(function(item) {
  return item.name.includes('a');
});
 
console.log(result); // [{ id: 2, name: 'Jane' }, { id: 3, name: 'Alice' }]

 


3.使用 forEach() 方法或普通的 for 循环: 你可以使用 forEach() 方法或普通的 for 循环遍历数组,并通过条件判断来找到匹配的元素。

使用 forEach() 方法的示例:

var jsonArray = [
  { id: 1, name: 'John' },
  { id: 2, name: 'Jane' },
  { id: 3, name: 'Alice' }
];
 
var result;
 
jsonArray.forEach(function(item) {
  if (item.name === 'Jane') {
    result = item;
  }
});
 
console.log(result); // { id: 2, name: 'Jane' }

 


4.使用 for 循环的示例:

var jsonArray = [
  { id: 1, name: 'John' },
  { id: 2, name: 'Jane' },
  { id: 3, name: 'Alice' }
];
 
var result;
 
for (var i = 0; i < jsonArray.length; i++) {
  if (jsonArray[i].name === 'Jane') {
    result = jsonArray[i];
    break;
  }
}
 
console.log(result); // { id: 2, name: 'Jane' }
这些方法都提供了不同的灵活性和适用场景。你可以根据具体的需求选择最适合的方式来查找 JSON 数组中的数据。

标签:name,jsonArray,var,json,查找,result,数组,Jane,id
From: https://www.cnblogs.com/shanhubei/p/17928249.html

相关文章

  • 操作对象数组
    1.将对象数组按照一定的数量进行切割  应用场景:列表前端分页,swiper翻页等  json数据如下:  constarr=[        {"name":"AAA","info":'01'},        {"name":"BBB","info":'02'}, ......
  • fastjson2 JSONWriter.Feature介绍
    JSONWriter.Feature介绍FieldBased基于字段反序列化,如果不配置,会默认基于public的field和getter方法序列化。配置后,会基于非static的field(包括private)做反序列化。IgnoreNoneSerializable序列化忽略非Serializable类型的字段BeanToArray 将对象序列为[101,“XX”]这样的数组格......
  • 文件批量查找与复制
    文件批量查找与复制文件批量查找复制整理有现成的软件,可以在一堆文件中按文件名中关键字查找你需要的那些文件并全部整理复制到指定文件夹下 ......
  • DOM操作之元素查找
    通常我们操作一个元素节点前都需要查找到这个元素,查找到这个元素有两种方式。使用选择器函数查找元素通过元素的关系属性来查找元素使用选择器函数查找getElementById通过节点元素的ID得到此节点<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8">......
  • 升序数组的二分查找
    我买了⼀双鞋,你好奇问我多少钱,我说不超过300元。你还是好奇,你想知道到底多少,我就让你猜,你会怎么猜?你会1,2,3,4...这样猜吗?显然很慢;⼀般你都会猜中间数字,⽐如:150,然后看⼤了还是⼩了,这就是⼆分查找,也叫折半查找。首先我们通过分析可以知道二分查找的本质就是循环,对于一个升序数组,应先找......
  • Json Schema简介和Json Schema的.net实现库 LateApexEarlySpeed.Json.Schema
    什么是JsonSchema?JsonSchema是一种声明式语言,它可以用来标识Json的结构,数据类型和数据的具体限制,它提供了描述期望Json结构的标准化方法。利用JsonSchema,你可以定义Json结构的各种规则,以便确定Json数据在各个子系统中交互传输时保持兼容和一致的格式。一般来说,系统可以自......
  • 数组
    数组的初始化可以通过下面的方式=字符串字面量={表达式,……}分别对应一些常见的方式chararr[]="hello";//字符串字面量,是char的数组类型,但是用于初始化数组的时候不会发生隐适转换成指针char*arr[]={"hello","world"};//"hello"和"world"都是表达式,是char的数组类型,因此转......
  • 一个关于动态数组的BUG,Copy
    下面这样写是不会错的:procedureTForm1.Button1Click(Sender:TObject);vararr1,arr2:arrayofinteger;i:integer;sTmp:string;beginfori:=0toLength(arr1)-1doarr1[i]:=i+1;Memo1.Lines.Add(ArrayToString(arr1));arr2:=Copy(arr1......
  • Integer数组与int数组排序对比
    使用Arrays.sort的方法发现int数组和Integer数组的sort方法有区别Integer[]arr={1,2,3};int[]arr1={1,2,3};Arrays.sort(arr1);Arrays.sort(arr,newComparator<Integer>(){@Overridepublicintcompar......
  • Leetcode LCP 14. 切分数组
    https://leetcode.cn/problems/qie-fen-shu-zu/description/给定一个整数数组nums,小李想将nums切割成若干个非空子数组,使得每个子数组最左边的数和最右边的数的最大公约数大于1。为了减少他的工作量,请求出最少可以切成多少个子数组。示例1:输入:nums=[2,3,3,2,3,3]......