js数组遍历和对象遍历

js数组遍历和对象遍历js 数组遍历和对象遍历 js 数组遍历和对象遍历 js 循环的几种方式 1 普通 for 循环 vararr 1 2 3 4 for vari 0 i

js数组遍历和对象遍历

1、普通for循环
var arr = [1,2,3,4]; for ( var i = 0; i <arr.length; i++){ 
    console.log(arr[i]);//1,2,3,4 } 
2、forEach,数组自带的循环(es5)
var arr = [1,2,3,4]; arr.forEach(function(value,i){ 
      console.log('forEach遍历:'+i+'--'+value); }) VM405:2 forEach遍历:0--1 VM405:2 forEach遍历:1--2 VM405:2 forEach遍历:2--3 VM405:2 forEach遍历:3--4 let abc = arr.forEach(function(value,i){ 
      return value*value }) console.log(abc) //undefined 

缺陷:不能使用break语句中断循环,也不能使用return语句返回到外层函数

3、map遍历,用法与 forEach 相似(es5)

map即是 “映射”的意思

let abc = arr.forEach(function(value,i){ 
    console.log('forEach遍历:'+i+'--'+value);   return value*value }) console.log(abc) VM133:2 forEach遍历:0--1 VM133:2 forEach遍历:1--2 VM133:2 forEach遍历:2--3 VM133:2 forEach遍历:3--4 VM133:5 (4) [1, 4, 9, 16] 
4、for-of 、for-in(es6)
4.1 for-of和for-in的区别
//for-of var arr1 = [1,2,3] for (let i of arr1){ 
    console.log(i)//1,2,3 } //for-in //1、遍历数组时,为数组的下标 var arr1 = [1,2,3] for (let i in arr1){ 
    console.log(i)//0,1,2 } //2、遍历对象时,为对象的属性值 var obj1= { 
   a:"1",b:"2",c:"3"} for (let i in obj1){ 
    console.log(i)//a,b,c } 

2、for … of 不像 for … in,它不支持迭代普通对象

const person = { 
    firstName: 'zhang', lastName: 'san', age: 42 } for (let k of person) { 
    console.log(k) } VM247:1 Uncaught TypeError: person is not iterable 
const person = { 
    firstName: 'zhang', lastName: 'san', age: 42 } for (let k of Object.keys(person)) { 
    console.log(k, ':', person[k]) } VM259:2 firstName : zhang VM259:2 lastName : san VM259:2 age : 42 

3、for…of 可以与 break / continue / return 配合使用

let arr1=[1,2,3,11] for (var n of arr1) { 
    if (n > 10) { 
    break; } console.log(n);//1,2,3 } 

4、遍历数组
1、for-in

var arr=[1,2,3] for(var i in arr){ 
    console.log(i,arr[i]) } VM95:3 0 1 VM95:3 1 2 VM95:3 2 3 

2、for-of

var arr=[1,2,3] for(var value of arr){ 
    console.log(value)//1,2,3 } 
5、some()
//some(item,index,array) //some(元素的值,元素的索引,被遍历的数组) var arr=[1,2,3,11,12,13] arr.some(function(item,index,array){ 
    console.log(item,index,array); return item>10//是否有大于10的数,返回值为true或false }) VM357:3 1 0 (6) [1, 2, 3, 11, 12, 13] VM357:3 2 1 (6) [1, 2, 3, 11, 12, 13] VM357:3 3 2 (6) [1, 2, 3, 11, 12, 13] VM357:3 11 3 (6) [1, 2, 3, 11, 12, 13] true 
6、every()
var arr=[1,2,3,11,12,13] arr.every(function(item,index,array){ 
    console.log(item,index,array); return item>10//是否有大于10的数,返回值为true或false }) 1 0 (6) [1, 2, 3, 11, 12, 13] false 
7、filter()
var arr = [1, 2, 3]; arr.filter(item => { 
    // item为数组当前的元素 return item > 1; // [2, 3] }) 

filter() 方法创建一个新的数组,新数组中的元素是通过检查指定数组中符合条件的所有元素。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/176976.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月26日 下午8:36
下一篇 2026年3月26日 下午8:36


相关推荐

  • Javascript控制台打印Object对象

    Javascript控制台打印Object对象Javascript 控制台打印 Object 对象做项目的时候遇到一个问题 在调试代码时需要打印对象来查看具体数值 想了各种方法也没有实现 最后查资料知道了可以使用 JSON stringify 将 obj 转为字符串后打印 再此记录 constmarks gt this props station this props station m

    2026年3月26日
    2
  • CouchBase_couchbase数据库

    CouchBase_couchbase数据库1.CouchBase是什么简单来说CouchBase是一款开源的,分布式的nosql数据库,主要用于分布式缓存和数据存储领域。能够通过managecache提供快速的亚毫米级别的k-v存储操作,

    2022年8月2日
    10
  • android 结束for循环,golang跳出for循环——匿名函数

    android 结束for循环,golang跳出for循环——匿名函数搜索了 golang 退出 for 循环的方法 基本都是围绕 breaklabel 和 goto 我觉得这两种方式都存在在程序里乱跳的缺点 想到了一个用匿名函数的方式 记录一下匿名函数方式退出 for 循环直接上代码 funcmain begin time Now ch make chanint 4 fori 1 i lt 5 i goworker ch i t

    2025年12月15日
    5
  • GLM-ASR-Nano-2512部署教程:CPU模式下16GB内存运行中文基础识别服务

    GLM-ASR-Nano-2512部署教程:CPU模式下16GB内存运行中文基础识别服务

    2026年3月12日
    2
  • 学Python必看!今年最火的五大Python框架

    学Python必看!今年最火的五大Python框架由于简单的学习曲线、越来越快的应用程序以及机器学习辅助功能等附加优势,Python已经成了IT行业的流行词…由于简单的学习曲线、越来越快的应用程序以及机器学习辅助功能等附加优势,Python已经成了IT行业的流行词。到目前为止,几乎每个IT工程师和开发人员都必须了解Python的强度和功能。Python本身是一种编程语言,也许你已经掌握了这种令人惊叹的编程语言的一些基本编程技能,并且正在寻找…

    2022年6月10日
    46
  • SAPI5_SAP-ERP

    SAPI5_SAP-ERP转载自:http://blog.csdn.net/stone0823/article/details/70339694SAPWebIDE是基于Eclipse内核的在线开发IDE,可以使用在线的试用版本,但服务器在德国,访问的网速特别慢。也可以使用PersonalEdition,在本机启动和编写代码。与Eclipse相比,SAPWebIDE有几个

    2022年10月17日
    4

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号