这数组方法里写自定义目录标题
数组方法
//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())