<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>