Jquery遍历筛选数组的几种方法和遍历解析json对象,Map()方法详解以及数组中查询某值是否存在


Posted in jQuery onJanuary 18, 2019

1.jquery grep()筛选遍历数组(可以得到反转的数组)

// 1.jquery grep()筛选遍历数组(可以得到反转的数组)
  var array = [1,5,9,3,12,4,48,98,4,75,2,10,11];
  var filterArray = $.grep(array,(currentValue) => {
    return currentValue > 10;
  });
  console.log(`${filterArray}---${filterArray.length}`);//12,48,98,75,11---5
  var filterReverse = $.grep(array,(currentValue) => {
    return currentValue > 10;
  },true);
  console.log(`${filterReverse}---${filterReverse.length}`);//1,5,9,3,4,4,2,10---8
 
  // for(var i=0;i<filterArray.length;i++){
  //   console.log(filterArray[i]);
  // }
  for(key in filterArray){
    console.log(filterArray[key])
  }

Jquery遍历筛选数组的几种方法和遍历解析json对象,Map()方法详解以及数组中查询某值是否存在

2.filter()筛选遍历数组(与grep()不同的是调用者不同,参数不同)

var ages = [32, 33, 16, 40, 45, 98, 12, 35, 8,16];
  var filterAges = ages.filter((currentValue,index,ages) => {
    return currentValue > 20;
  })
  console.log(filterAges);//[32, 33, 40, 45, 98, 35]
  for(key in filterAges){
    console.log(filterAges[key])
  }

Jquery遍历筛选数组的几种方法和遍历解析json对象,Map()方法详解以及数组中查询某值是否存在

3.jquery each()筛选遍历数组(主要用来遍历对象)

var anObject = {one:1,two:2,three:3};//对json数组each
  $.each(anObject,function(name,value) {
    console.log(`${name}---${value}`)
  });
  var anArray = ['one','two','three'];
  $.each(anArray,function(n,value){
     console.log(`${n}---${value}`)
  });

4.jquery forEach()筛选遍历数组

var forArray = ['mu','zi','muzi','digbig','muzidigbig'];
  forArray.forEach((currentValue,index,forArray) => {
    console.log(`${index}---${currentValue}`)
  })

5.jquery map()筛选遍历数组

var strings = ['0','1','2','3','4','S','6'];
  var values = $.map(strings,function(value){
      var result = new Number(value);
      return isNaN(result) ? null:result;//isNaN:is Not a Number的缩写
    });
  for (key in values) {
    console.log(values[key]);
  }

6.jquery inArray()筛选遍历数组(用于查找某个值第一次在数组中出现的位置)

var iArray = ['one','two','three','two'];
  var index = $.inArray('two',anArray);
  console.log(`返回该值在数组中的键值:${index}`);//返回该值在数组中的键值,返回 1
  console.log(`返回该键在数组中的值:${iArray[index]}`);//two

7.indexOf()用于查找某个值第一次在数组中出现的位置(存在返回第一次出现的索引值,不存在返回-1)

var iArray = ['one','two','three','two'];
  var indexOf = iArray.indexOf('two');
  console.log(indexOf);//1

8.includes()(判断数组中是否存在某个值返回Boolean类型)

var iArray = ['one','two','three','two'];
  var index = iArray.includes('two');
  console.log(index);//true

二、遍历解析json对象

1.遍历json 1

var json = [{dd:'SB',AA:'东东',re1:123},{cccc:'dd',lk:'1qw'}];
for(var i=0,l=json.length;i<l;i++){
  for(var key in json[i]){
  console.log(`${key}:${json[i][key]}`);
  }
}

2、jquery遍历解析json对象 2

有如下 json对象:

var obj ={'name':'冯娟','password':'123456','department':'技术部','sex':'女','old':30};

遍历方法:

var obj ={'name':'冯娟','password':'123456','department':'技术部','sex':'女','old':30};
var str = '';
for(var p in obj){
  str += obj[p]+',';
//  return str;
}
console.log(str);//冯娟,123456,技术部,女,30,

三、Map()方法详解

1、实例

构建表单中所有值的列表:

$("p").append( $("input").map(function(){
 return $(this).val();
}).get().join(", ") );

2、定义和用法

map() 把每个元素通过函数传递到当前匹配集合中,生成包含返回值的新的 jQuery 对象。

3、语法

.map(callback(index,domElement))

参数

描述

callback(index,domElement)  对当前集合中的每个元素调用的函数对象。

详细说明

由于返回值是 jQuery 封装的数组,使用 get() 来处理返回的对象以得到基础的数组。

.map() 方法对于获得或设置元素集的值特别有用。请思考下面这个带有一系列复选框的表单:

<form method="post" action="">
 <fieldset>
  <div>
   <label for="two">2</label>
   <input type="checkbox" value="2" id="two" name="number[]">
  </div>
  <div>
   <label for="four">4</label>
   <input type="checkbox" value="4" id="four" name="number[]">
  </div>
  <div>
   <label for="six">6</label>
   <input type="checkbox" value="6" id="six" name="number[]">
  </div>
  <div>
   <label for="eight">8</label>
   <input type="checkbox" value="8" id="eight" name="number[]">
  </div>
 </fieldset>
</form>

我们能够获得复选框 ID 组成的逗号分隔的列表:

$(':checkbox').map(function() {
 return this.id;
}).get().join(',');

本次调用的结果是字符串:"two,four,six,eight"。

在 callback 函数内部,this 引用每次迭代的当前 DOM 元素。该函数可返回单独的数据项,或者是要被插入结果集中的数据项的数组。如果返回的是数组,数组内的元素会被插入集合中。如果函数返回 null 或 undefined,则不会插入任何元素。

若有不足请多多指教!希望给您带来帮助!

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对三水点靠木的支持。如果你想了解更多相关内容请查看下面相关链接

jQuery 相关文章推荐
jquery dataTable 获取某行数据
May 05 jQuery
jQuery实现radio第一次点击选中第二次点击取消功能
May 15 jQuery
jQuery实现简单的计时器功能实例分析
Aug 29 jQuery
jquery实现楼层滚动效果
Jan 01 jQuery
jQuery实现的鼠标响应缓冲动画效果示例
Feb 13 jQuery
[原创]jQuery实现合并/追加数组并去除重复项的方法
Apr 11 jQuery
通过jquery toggleClass()属性制作文章段落更改背景颜色
May 21 jQuery
jQuery动态操作表单示例【基于table表格】
Dec 06 jQuery
简单易扩展可控性强的Jquery转盘抽奖程序
Mar 16 jQuery
JavaScript表格隔行变色和Tab标签页特效示例【附jQuery版】
Jul 11 jQuery
js判断复选框是否选中的方法示例【基于jQuery】
Oct 10 jQuery
Jquery cookie插件实现原理代码解析
Aug 04 jQuery
jquery的$().each和$.each的区别
Jan 18 #jQuery
jquery层次选择器的介绍
Jan 18 #jQuery
jQuery无冲突模式详解
Jan 17 #jQuery
JQuery判断radio单选框是否选中并获取值的方法
Jan 17 #jQuery
Jquery获取radio选中值实例总结
Jan 17 #jQuery
jquery获取img的src值实例介绍
Jan 16 #jQuery
jQuery实现的点击图片居中放大缩小功能示例
Jan 16 #jQuery
You might like
基于PHP常用函数的用法详解
2013/05/10 PHP
php中print(),print_r(),echo()的区别详解
2014/12/01 PHP
详解thinkphp实现excel数据的导入导出(附完整案例)
2016/12/29 PHP
THINKPHP-Apache服务器中使用Alias虚拟目录URL重写 隐藏index.php
2021/03/09 PHP
javascript this用法小结
2008/12/19 Javascript
Extjs学习笔记之一 初识Extjs之MessageBox
2010/01/07 Javascript
node.js WEB开发中图片验证码的实现方法
2014/06/03 Javascript
jQuery实现流动虚线框的方法
2015/01/29 Javascript
Javascript连接Access数据库完整实例
2015/08/03 Javascript
JavaScript中this的9种应用场景及三种复合应用场景
2015/09/12 Javascript
JQuery用户名校验的具体实现
2016/03/18 Javascript
基于JS代码实现图片在页面中旋转效果
2016/06/16 Javascript
JavaScript运动框架 解决速度正负取整问题(一)
2017/05/17 Javascript
浅谈ES6 模板字符串的具体使用方法
2017/11/07 Javascript
JS数据类型STRING使用实例解析
2019/12/18 Javascript
js实现简易计算器小功能
2020/11/18 Javascript
JavaScript实现鼠标移入随机变换颜色
2020/11/24 Javascript
[42:36]DOTA2上海特级锦标赛B组败者赛 VG VS Spirit第二局
2016/02/26 DOTA
python类型强制转换long to int的代码
2013/02/10 Python
python统计文本文件内单词数量的方法
2015/05/30 Python
python制作企业邮箱的爆破脚本
2016/10/05 Python
python技能之数据导出excel的实例代码
2017/08/11 Python
Python入门之三角函数atan2()函数详解
2017/11/08 Python
python实现验证码识别功能
2018/06/07 Python
Python何时应该使用Lambda函数
2019/07/02 Python
python 5个顶级异步框架推荐
2020/09/09 Python
python的scipy.stats模块中正态分布常用函数总结
2021/02/19 Python
css3实现垂直下拉动画菜单示例
2014/04/22 HTML / CSS
人事科岗位职责范本
2014/03/02 职场文书
校园主题婚礼活动策划方案
2014/09/15 职场文书
行政执法队伍作风整顿剖析材料
2014/10/11 职场文书
HTML速写之Emmet语法规则的实现
2021/04/07 HTML / CSS
Django一小时写出账号密码管理系统
2021/04/29 Python
html实现弹窗的实例
2021/06/09 HTML / CSS
php实现自动生成验证码的实例讲解
2021/11/17 PHP
SpringCloud Feign请求头删除修改的操作代码
2022/03/20 Java/Android