Js中常用数组方法

这数组方法里写自定义目录标题


数组方法
//1.Array构造函数上的方法

  //1.1 Array.of :将一组值,转为数组,解决了new Array()的缺陷
  // const arr = Array.of(4,7,4)
  // console.log(arr) //[4,7,4]

  //1.2 Array.from:传入伪数组,返回一个数组
  // function fn(){
  //   return Array.from(arguments)
  // }
  // console.log(fn(2,'sdf',77))

  //1.3 Array.isArray:判断是否是数组,是,返回true,不是,返回false
  // function fn() {
  //   return Array.isArray(arguments);
  // }
  // console.log(fn(2, "sdf", 77));

  //2.数组原型上的方法
  // 2.1.forEach,回调内部的返回值不会被接收
  // const arr = [1, 3, 5, 7, 9, 10];
  // const newArr = arr.forEach((item) => {
  //   return item;
  // });
  // console.log(newArr);//undefined
  // console.log(arr);

  // 2.2 map,返回与原数组一样长度的数组,不会改变原数组(除非赋值)
  // const arr = [1, "3", {name:"xiaohuang"}, 7, 9, 10]
  // const newArr=arr.map((item)=>{
  //   return item+1
  // })
  // console.log(newArr)
  // console.log(arr)

  // 2.3 for in遍历index(一般用来遍历对象/数组)
  // const arr = [1, "3", { name: "xiaohuang" }, 7, 9, 10];
  // const arr1 = { name: "lili", age: "19" };
  // for (let index in arr1) {
  //   console.log(index);
  // }

  // 2.4 for of遍历item(基于迭代器接口,对象没有迭代器接口,不能使用此方法)
  // for (let item of arr1) {
  //   console.log(item);
  // }//报错

  // 2.5 entries keys values,返回数组的迭代对象,返回值可以用for of遍历,对象也有这个方法

  // let arr3 = ["a", "b", "c", "d", "e"];
  // console.log(arr3.values()); //Array Iterator [0, "a"] 0 "a"
  // for (index of arr3.values()) {
  //   console.log(index);//
  // }

  // 2.6 sort,返回值》0,交换位置,会改变原数组
  // const arr = [1, 23, 2];
  // const arr1= arr.sort((item, pre) => {
  //   console.log(item,pre)
  //   return item - pre;
  // });
  // console.log(arr)//[1, 2, 23]
  // console.log(arr1)//[1, 2, 23]

  // 2.7 reverse 将数组反转 会改变原数组,并返回反转后的数组
  // const arr = [1, 23, 2,'we4'];
  // const newArr=arr.reverse()
  // console.log(arr,newArr)

  // 2.8 concat 合并数组 不会改变原数组,返回合并后的数组(浅拷贝)
  // const arr = [1, 23, 2, "we4"];
  // const arr1=[123, 'dff',566]
  // const newArr = arr.concat('asd',3,arr1);
  // console.log(arr, newArr);

  // 2.9 join 将数组拼接为字符串,字符串转数组(split)
  // const arr = [1, 23, 2, "we4"];
  // const newArr = arr.join(" ");
  // console.log(arr, newArr);

  // 2.10 slice 提取数组中的项,并作为数组返回,不会改变原数组
  // const arr = [1, 23, 2, "we4",3,6,20];
  // const newArr = arr.slice(1,3);
  // console.log(arr, newArr);

  // 2.11 splice  改变原数组,返回删除的项,为数组
  // const arr = [1, 23, 2, "we4", 3, 6, 20];
  //从下标为1 的开始删除,删到第三项,不包含第三项,返回删除的项
  // const newArr1 = arr.splice(1, 3);

  //从下表为1的开始删除,删除到第三项,不包含第三项,在下标为1的添加新的内容,返回删除的项
  // const newArr1 = arr.splice(1, 3,'qqq','wwww')

  //在下标为1的项前面添加新的内容,返回删除的项,空数组
  // const newArr1 = arr.splice(1, 0,'qqq','wwww')

  // console.log(arr, newArr1);

  // 2.12 push,pop,unshift,shift
  // const arr = [1, 20];
  // const newArr = arr.push("zzz",'vvvv')//[1, 20, "zzz", "vvvv"],改变原数组,返回更新后的数组的长度
  // const newArr = arr.pop()//[1],改变原数组,返回被删除的项的值
  // const newArr = arr.unshift("zzz",'vvvv')//["zzz", "vvvv", 1, 20],改变原数组,返回更新后的数组的长度
  // const newArr = arr.shift()//[20],改变原数组,返回被删除的项的值
  // console.log(arr, newArr)

  // 2.13 some every,传入的参数是一个回调
  // const arr = [1, 20, 34, 5];
  // const result = arr.some((item)=>item%2===0)//有一项为true,则返回true
  // const result = arr.every((item) => item % 2 === 0); //每一项都返回为true,才返回rue
  // console.log(arr, result);

  // 2.14 find findIndex,传入的参数是一个回调,查找满足条件的第一个项/index
  // const arr = [1, 20, 34, 5]
  // const result = arr.find((item)=>{return item>5})//查找到满足条件的第一项,找不到返回undefined
  // const result2 = arr.findIndex((item)=>{return item>5})//查找到满足条件的第一项的下标,找不到返回-1
  // console.log(arr, result,result2)

  //2.15 indexOf lastIndexOf
  // const arr = [1, 20, 34, 5]
  // const result = arr.indexOf(5)//查找包含50的那一项,返回下标,找不到返回-1
  // const result1 = arr.lastIndexOf(5)
  // console.log(arr, result,result1)

  // 2.16 filter 过滤 返回满足条件的项组成的数组
  // const arr = [1, 20, 34, 5];
  // const newArr = arr.filter((item) => {
  //   return item % 2 === 0;
  // });
  // console.log(arr, newArr)

  // 2.17 fill填充 第一个参数用来填充的元素,被填充的开始项,被填充的结束项(不包含)
  // const arr = [1, 20, 34, 5,45,"45"];
  // const newArr = arr.fill("*",2,3);
  // console.log(arr, newArr)

  // 2.18 includes 判断数组中的某一项是否包含指定的值,返回true或者false
  // const arr = [1, 20, 34, 5,45,"45"];
  // const newArr = arr.includes(76);//false
  // console.log(arr, newArr)

  // 2.18 reduce 累计后返回
  // const arr = [1, 20, 34, 5, 45];
  // const result =arr.reduce((pre, item) => {
  //   return pre + item;
  // }, 0);

  // 2.19 flat 拉平数组 不会改变原数组
  // const arr=[1,[2,4,6,[1,{name:[1,3,5]}],4],6]
  // const newArr=arr.flat(Infinity)
  // console.log(arr, newArr)

  // 2.20 toString 转为字符串
  // const arr=[1,[2,4,6,[1,{name:[1,3,5]}],4],6]
  // console.log(arr.toString())
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值