js中数组方法大全
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>Document</title> </head> <body> <script> // 1 Arry.map() 此方法是将数组中的每个元素调用一个提供的函数,结果作为一个新的数组返回,并没有改变原数组 let arr = [1, 2, 3, 4, 5]; let newArr = arr.map((x) => x * 2); console.log("原数组", arr); // [1, 2, 3, 4, 5] console.log("新数组", newArr); // [2, 4, 6, 8, 10] // 2 Arry.forEach此方法是将数组中的每个元素执行传递的函数,没有返回的值,注意和map的区别) let arr2 = [1, 2, 3, 4, 5]; arr2.forEach(function (item, index) { if (index === 2) { return; } console.log(item); // 1 2 4 5 }); // 3 Arry.filter() 此方法是将所有的元素进行判断,将满足条件的元素做为一个新的数组返回 let arr3 = [1, 2, 3, 4, 5]; let big = (item) => item > 3; let newArr3 = arr3.filter(big); console.log(newArr3); // [4,5] // 4 Arry.every() 将所有的元素进行判断返回一个布尔值,如果所有的元素都满足判断的条件,则返回true。反之为false let arr4 = [1, 2, 3, 4, 5]; let bigThan6 = (item) => item > 6; let lessThan7 = (item) => item < 7; let lessThan2 = (item) => item < 2; arr4.every(bigThan6); arr4.every(lessThan2); arr4.every(lessThan7); console.log(arr4.every(bigThan6)); // false console.log(arr4.every(lessThan2)); // false console.log(arr4.every(lessThan7)); // true // 5 Arry.some() 此方法是将所有元素进行判断返回一个布尔值,如果存在元素都满足判断条件,则返回true let arr5 = [1, 2, 3, 4, 5]; let bigThan = (item) => item > 6; let lessThan1 = (item) => item < 7; let lessThan11 = (item) => item < 2; arr5.some(bigThan); arr5.some(lessThan1); arr5.some(lessThan11); console.log(arr5.some(bigThan)); // false console.log(arr5.some(lessThan1)); // true console.log(arr5.some(lessThan11)); // true // 6 Arry.reduce() 此方法是所有元素调用返回函数,返回值为最后结果,传入的值必须是函数类型: // 与之相对应的还有一个 Array.reduceRight() 方法,区别是这个是从右向左操作的 let arr6 = [1, 2, 3, 4, 5]; let jian = (a, b) => b - a; let jians = arr6.reduce(jian); let jians2 = arr6.reduceRight(jian); console.log(jians); // 3 console.log(jians2); // 3 // 7 Arry.push() 此方法是在数组的后面添加一个或多个新加元素,此方法改变了数组的长度: let arr7 = [1, 2, 3, 4, 5]; arr7.push(6, 7, 8, 9); console.log(arr7); // [1,2,3,4,5,6,7,8,9] console.log("7", arr7.length); // 9 // 8 Arry.pop() 此方法是删除数组最后面的一个元素,并返回数组,此方法改变了数组的长度 let arr8 = [1, 2, 3, 4, 5]; arr8.pop(); console.log("8", arr8.length); // 4 console.log(arr8); // [1,2,3,4] // 9 Arry.shift() 此方法是删除数组的第一个元素,并返回新的数组,此方法改变了数组的长度 let arr9 = [1, 2, 3, 4, 5]; arr9.shift(); console.log("9", arr9); // [2,3,4,5] console.log(arr9.length); // 4 // 10 Arry.unshift() let arr10 = [1, 2, 3, 4, 5]; arr10.unshift(8, 9); console.log("10", arr10); // [8,9,1,2,3,4,5] console.log(arr10.length); // 7 // 11 Array.isArray() 判断一个对象是不是数组,返回的是布尔值(还有如下几种方法) let arr11 = [1, 2, 3, 4, 5]; let arr12 = 123; console.log("11", Array.isArray(arr11)); // true console.log(Array.isArray(arr12)); // false console.log(arr11 instanceof Array); // true console.log(arr12 instanceof Array); // false console.log(arr11.constructor == Array); // true console.log(arr12.constructor == Array); // false // 12 Arry.concat() 此方法是一个可以将多个数组拼接成一个数组 let arr13 = [1, 2, 3]; let arr14 = [4, 5]; let arr15 = arr13.concat(arr14); console.log("12", arr15); //[1, 2, 3, 4, 5] // 13 Arry.toString()此方法将数组转化为字符串,括号 里面加参数没有效果,故不用加参数 let arr16 = [1, 2, 3, 4, 5]; console.log("13", arr16.toString()); // 1,2,3,4,5 // 14 Arry.join() 此方法将数组转化为字符串,括号里面可以加参数 let arr17 = [1, 2, 3, 4, 5]; let str1 = arr17.join(""); console.log("str1", str1); // 12345 console.log("数据的类型", typeof str1); // 数据的类型 string let str2 = arr17.join(","); console.log("str2", str2); // 1,2,3,4,5 let str3 = arr17.join("##"); console.log("str3", str3); // 1##2##3##4##5 // 15 Arry.splice(开始的位置,删除的个数, 元素) 可以实现数组元素的删除 替换 添加,两个参数则是数组元元素的删除 let arr18 = [1, 2, 3, 4, 5]; arr18.splice(2, 1); // 从下标为2开始,删除一个 console.log("18", arr18); // [1, 2, 4, 5] arr18.splice(0, 3, 99999); // 从下标为0 ,长度为3的数组元素被替换为99999 console.log("19", arr18); //[99999,5] arr18.splice(2, 0, "haha"); // 在数组的最后添加一个元素 console.log("20", arr18); // [99999, 5, "haha"] </script> </body> </html>
若有错误或纰漏欢迎指正!