<script> //原始数组 var array = [1,2,3,4,5,6,7,8,9,0]; //将数组的每一项用连接符连接成字符串 var str = array.join('+'); console.log('join:', str); //在数组末尾放入数组 array.push(11); console.log('push', array); //在数组末尾删除数据,并返回删除的元素 var num = array.pop(); console.log('pop', array, num); //在数组开头插入数据 var newArray = array.unshift(222,111); console.log('unshift', newArray); //在数据开头删除数据,并返回删除的元素 num = array.shift(); console.log('shift', array, num); //数组排序,默认比较字符串,对数组排序无效 var newArray1 = array.sort(); console.log('sort', newArray1); //数组排序,传入数字排序方法就可以实现数字排序 var newArray2 = array.sort(compare); console.log('sort compare', newArray2); //数组反转,顺序颠倒 var newArray3 = newArray2.reverse(); console.log('reverse', newArray3); //添加数据到数组末尾,并返回新的数组 var newArray4 = array.concat('mxh', ['mxh1', 'mxh2']); console.log('concat', newArray4); console.log('oldArray', array); //根据下标删除数组元素 var newArray5 = newArray4.slice(2); console.log('slice', newArray5); var newArray6 = newArray4.slice(10, 14); console.log('slice', newArray6); //判断数组中是否存在满足条件的项,只要有一项满足条件,就会返回true。 var flag = array.some(isSatisfy); console.log('some', flag); //判断数组中每一项都是否满足条件,只有所有项都满足条件,才会返回true。 flag = array.every(isSatisfy); console.log('every', flag); //“过滤”功能,数组中的每一项运行给定函数,返回满足过滤条件组成的数组。 var array1 = [1,2,3,4,5,6,7,8,9,0,100]; var newArray7 = array1.filter(isSatisfy); console.log('filter', newArray7); //指“映射”,对数组中的每一项运行给定函数,返回每次函数调用的结果组成的数组。 var newArray8 = array1.map(isSatisfy); console.log('map', newArray8); //对数组进行遍历循环,对数组中的每一项运行给定函数。 //这个方法没有返回值。参数都是function类型,默认有传参, //参数分别为:遍历的数组内容;第对应的数组索引,数组本身。 array.forEach(function(num, index, a){ console.log(num + '|' + index + '|' + (a === array)); }); //indexOf():接收两个参数:要查找的项和(可选的)表示查找起点位置的索引。 //其中, 从数组的开头(位置 0)开始向后查找。 flag = array1.indexOf(100); console.log('indexOf', flag); var result = array1.indexOf(2, 3); console.log('indexOf1', result); //lastIndexOf:接收两个参数:要查找的项和(可选的)表示查找起点位置的索引。 //其中, 从数组的末尾开始向前查找。 result = array1.lastIndexOf(100); console.log('lastIndexOf', result); result = array1.lastIndexOf(0, 100); console.log('lastIndexOf', result); //splice():删除、插入和替换。 //删除:指定 2 个参数:要删除的第一项的位置和要删除的项数。 //插入:可以向指定位置插入任意数量的项,只需提供 3 个参数:起始位置、 0(要删除的项数)和要插入的项。 //替换:可以向指定位置插入任意数量的项,且同时删除任意数量的项,只需指定 3 个参数:起始位置、要删除的项数和要插入的任意数量的项。 //插入的项数不必与删除的项数相等。 var arr = [1,3,5,7,9,11]; var arrRemoved = arr.splice(0,2); console.log(arr); //[5, 7, 9, 11] console.log(arrRemoved); //[1, 3] var arrRemoved2 = arr.splice(2,0,4,6); console.log(arr); // [5, 7, 4, 6, 9, 11] console.log(arrRemoved2); // [] var arrRemoved3 = arr.splice(1,1,2,4); console.log(arr); // [5, 2, 4, 4, 6, 9, 11] console.log(arrRemoved3); //[7] /** * @description 比较方法 * @param {Object} num1 * @param {Object} num2 */ function compare(num1, num2) { return num1-num2; } /** * @description 是否大于10 * @param {Object} num */ function isSatisfy(num) { return num > 10; } </script>