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 ajax请求struts action实现异步刷新
Apr 19 jQuery
jquery实现图片放大点击切换
Jun 06 jQuery
jQuery的时间datetime控件在AngularJs中的使用实例(分享)
Aug 17 jQuery
jQuery UI 实例讲解 - 日期选择器(Datepicker)
Sep 18 jQuery
简单实现jquery隔行变色
Nov 09 jQuery
jQuery Dom元素操作技巧
Feb 04 jQuery
jQuery实现表单动态加减、ajax表单提交功能
Jun 08 jQuery
jQuery实现的监听导航滚动置顶状态功能示例
Jul 23 jQuery
IE8中jQuery.load()加载页面不显示的原因
Nov 15 jQuery
jquery制作的移动端购物车效果完整示例
Feb 24 jQuery
jQuery实现日历效果
Sep 11 jQuery
jquery实现点击左右按钮切换图片
Jan 27 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
vBulletin Forum 2.3.xx SQL Injection
2006/10/09 PHP
php 应用程序安全防范技术研究
2009/09/25 PHP
PHP基础之运算符的使用方法
2013/04/28 PHP
PHP中的str_repeat函数在JavaScript中的实现
2013/09/16 PHP
php使用qr生成二维码的示例分享
2014/01/20 PHP
destoon官方标签大全
2014/06/20 PHP
ThinkPHP应用模式扩展详解
2014/07/16 PHP
Linux系统中为php添加pcntl扩展
2016/08/28 PHP
Laravel的Auth验证Token验证使用自定义Redis的例子
2019/09/30 PHP
Array.prototype.slice.apply的使用方法
2010/03/17 Javascript
JQuery 学习技巧总结
2010/05/21 Javascript
Chrome中JSON.parse的特殊实现
2011/01/12 Javascript
再次分享18个非常棒的jQuery表格插件
2011/04/10 Javascript
jQuery select表单提交省市区城市三级联动核心代码
2014/06/09 Javascript
javascript设计模式之module(模块)模式
2016/08/19 Javascript
jQuery EasyUI 右键菜单--关闭标签/选项卡的简单实例
2016/10/10 Javascript
JQuery animate动画应用示例
2019/05/14 jQuery
8个有意思的JavaScript面试题
2019/07/30 Javascript
vue.js实现左边导航切换右边内容
2019/10/21 Javascript
JS实现普通轮播图特效
2020/01/01 Javascript
Python中Django 后台自定义表单控件
2017/03/28 Python
django反向解析URL和URL命名空间的方法
2018/06/05 Python
Python3实现转换Image图片格式
2018/06/21 Python
PyQt5 QListWidget选择多项并返回的实例
2019/06/17 Python
python实现一个函数版的名片管理系统过程解析
2019/08/27 Python
Python 继承,重写,super()调用父类方法操作示例
2019/09/29 Python
加拿大休闲和工业服装和鞋类零售商:L’Équipeur
2018/01/12 全球购物
法国最大的在线眼镜店:EasyLunettes
2019/08/26 全球购物
下面这个程序执行后会有什么错误或者效果
2014/11/03 面试题
Java如何获得ResultSet的总行数
2016/09/03 面试题
黄继光的英雄事迹材料
2014/02/13 职场文书
公司合作协议范文
2014/10/01 职场文书
如何写辞职书
2015/02/26 职场文书
心理健康教育主题班会
2015/08/13 职场文书
vue首次渲染全过程
2021/04/21 Vue.js
Python中递归以及递归遍历目录详解
2021/10/24 Python