JSループ配列

JS配列ループ

  • 1. for ループ

  • 二、ES6 find filter 


提示:以下是本篇文章正文内容,下面仅供参考

 JS配列ループ

// 1. for 循环操作 数组


/* 1). for 循环

        for (let i = 0; let len = array.length; i < len ; i++) {
            console.log(i);
        }

   2). for..in 循环

        for (let i in array) {
            console.log(i);
        }


        给数组新定义新属性时,数组的length不变,但 for..in 遍历数组会遍历到新定义的属性


  3). for..of 循环

        for (let i of array) {
            console.log(i);
        }


            ES6新语法,为 for..in 缺点的完善,只遍历属于对象本身的属性值

            注意:虽然 for..of 也可以遍历对象,但并不推荐,若要遍历对象可以使用 for..in 循环。

*/


// 2. ES6 新增 数组遍历 新语法


/* 1). find
        
       1. let arr = [{ id: 0, name: "a" }, 
                     { id: 1, name: "b" }, 
                     { id: 2, name: "c" }]

		  1). let res = arr.find(function (item, index, arr) {
			  return item.id >= 1; 
              // arr[index].id == item.id
              // console 结果 { id: 1, name: "b" }
		  })

          2). let res = arr.find(item => item.id >= 1)
              // console 结果 { id: 1, name: "b" }

          3). let res = arr.find(item => item.id >= 3)
              // console 结果 undefined

          用于查找数组中符合条件的第一个元素,如果没有符合条件的元素,则返回 undefined,
          对于空数组,函数是不会执行的,并未改变数组的原始值。


   1). filter
        
       1. let arr = [{ id: 0, name: "a" }, 
                     { id: 1, name: "b" }, 
                     { id: 2, name: "c" }]

		  1). let res = arr.filter(function (item, index, arr) {
			  return item.id >= 1; 
              // arr[index].id == item.id
              // console 结果 { id: 1, name: "b" },{ id: 2, name: "c" }
		  })

          2). let res = arr.filter(item => item.id >= 1)
              // console 结果 { id: 1, name: "b" },{ id: 2, name: "c" }

          3). let res = arr.filter(item => item.id >= 3)
              // console 结果 []

          创建一个包含所有通过测试函数的元素的新数组。如果没有元素满足测试函数,则返回一个空数组

        
          find filter 区别:

          1.success
              find 返回第一个元素;
              filter 返回一个包含所有通过测试函数的元素的新数组;

          2.fail
              find() 返回未定义;
              filter() 返回一个空数组;

          find filter 共点:都不改变原数组


*/



おすすめ

転載: blog.csdn.net/weixin_59727199/article/details/126885093