1.forEach方法

  1. var arr = [2,3,4,5];
  2. // forEach
  3. /*
  4. 1.对数组执行遍历
  5. */
  6. arr.forEach((item,index)=>{
  7. console.log(item+"--"+index)
  8. item+=2;
  9. })
  10. 返回 2--0
  11. 3--1
  12. 4--2
  13. 5--3
  14. 第一个参数是当前的元素,第二个参数是该元素的下标

2.for of方法

  1. var arr=[1,2,3];
  2. for (var i of arr){
  3. console.log(i);
  4. }
  5. 返回 1
  6. 2
  7. 3

3.map方法

map 可以改变数组每一个项,得到一个新的值

  1. var arr=[1,2,3];
  2. var res=arr.map(item=>{
  3. return item*2
  4. })
  5. console.log(arr);//[1,2,3]
  6. console.log(res);//[2,4,6]

例子

  1. var arr=[
  2. {name:"html",value:"12px"},
  3. {name:"css",value:"13px"},
  4. {name:"vue",value:"11px"},
  5. ]
  6. var res =arr.map(item=>{
  7. var value= parseInt (item["value"])*2;
  8. return item["value"]=value;
  9. })
  10. console.log(res);//[24 ,26,22]

数组的每一项是基础(简单)类型,执行map不会改变数组原来的结构
数组的每一项是复杂类型{object},那么执行map方法会改变原来的数据结构

  1. var obj = [{name:"li",age:10},{age:"name",age:11}];
  2. var result = obj.map(item=>{
  3. return item.age = 0;
  4. })
  5. console.log(result);
  6. console.log(obj)

4.some、every方法

  • some 返回boolean 只要数组中一项满足条件,就输出true
  • every 返回boolean 只有数组中每一项满足某个条件,就输出true

    1. var arr = [1,2,3,4];
    2. var res = arr.some(item=>{
    3. return item>2;
    4. })
    5. var b = arr.every(item=>item>2);
    6. console.log(res);//true
    7. console.log(b);//false

    5.filter 方法

    对数组元素的进行一个条件筛选

    1. var arr=[1,2,3,4]
    2. var res=arr.filter(item=>item>2);
    3. console.log(res);
    4. 输出[3,4]

    例子:返回带武字的数组

    1. <script>
    2. var arr=[{city:"武汉",state:true,spell:"wuhan"},
    3. {city:"北京",state:false,spell:"beijing"},
    4. {city:"武昌",state:true,spell:"wuchang"}]
    5. console.log(arr);
    6. var keyword="武";
    7. var res=arr.filter(item=>{
    8. // return item.city.includes(keyword)
    9. if(item.city.includes(keyword)){
    10. return item;
    11. }
    12. })
    13. console.log(res);
    14. </script>
  1. <script>
  2. /* 返回数组
  3. String match
  4. */
  5. var arr = [{city:"武汉",state:true,spell:"wuhan"},
  6. {city:"北京",state:false,spell:"beijing"},
  7. {city:"武昌",state:false,spell:"wuchang"}]
  8. /* city中含有武的组成一个数组 */
  9. var keyword = "武汉";
  10. var res = arr.filter(item=>{
  11. // return item.city.includes(keyword);
  12. if(item.city.includes(keyword) || item.spell.includes(keyword) ){
  13. return item;
  14. }
  15. })
  16. console.log(res)
  17. </script>

6. findIndex

对数组执行遍历,查询对应值得下标

  1. var arr=[1,2,3];
  2. var index=arr.findIndex(item=>{
  3. return item==2;//查询元素2的下标值
  4. })
  5. console.log(index);//1

7.for in遍历对象

  1. <script>
  2. /* for in 遍历对象 */
  3. var obj = {
  4. 1001:false,
  5. 1002:false,
  6. 1003:false
  7. }
  8. /* . 只能读取具体的属性值
  9. [] 读取变量要通过中括号的方式读取
  10. */
  11. /* 将1003的值改为true */
  12. for(var key in obj){
  13. if(key ==1003){
  14. obj[key] = true
  15. }
  16. }
  17. console.log(obj)
  18. </script>