let arrNum = [1,2,3,4,5];
arrNum.indexOf(2); -> 1, 判断数组里是否有'2'这个元素,有返回下标,否则返回-1
let arr=['tom','jerry','king'];
let arr1=['scott','lucy'];
let arr2=['david','jones'];
console.log( arr.toString() ); -> tom,jerry,king, 转字符串
console.log( arr.join('-') ); -> tom-jerry-king, 按字符转字符串
console.log( arr.concat(arr1,arr2) ); -> ['tom','jerry','king','scott','lucy','david','jones'], 拼接数组
arr.slice(start,end) // 截取数组,start是开始下标(必选),end是结束下标(可选),没有结束下标截取到数组末尾
arr.splice(start,num,val1...valn) // 添加,删除数组元素(返回选中元素,会修改原数组),start(开始下标),num(要删除的数量,为0不删除),valx(要新加的数组)
arr.unshift(); // 在数组开始位置新加元素(返回数组长度)
arr.shift(); // 删除数组开始位置元素(返回元素)
arr.push(); // 在数组末尾添加元素
arr.pop(); // 删除数组末尾元素(返回删除元素,改变原数组,空数组时返回undefined)
获得一个数组中的最大值
let arr = [1,4,5,3,2]
let num = Math.max.apply(null, arr)
console.log(num) // 5
数组排序
// 升序
function sortNumTop (a,b) {
return a - b
}
// 降序
function sortNumBottom (a,b) {
return b - a
}
let arr = [4,2,7,8,1];
console.log(arr.sort(sortNumTop)); -> [1, 2, 4, 7, 8]
console.log(arr.sort(sortNumBottom)); -> [8, 7, 4, 2, 1]
将数组第一个数据移动到最后一个
let arr = [1,2,3,4,5];
arr.push(arr.shift());
console.log(arr); -> [2, 3, 4, 5, 1]
按数组下标的数值排序
// arr --- 数组
// index --- 要排序的数组下标
// order --- 顺序
function commonArrSort(arr, index, order) {
if (order == '升序') {
function compare() {
return function (a, b) {
return a[index] - b[index];
}
}
return (arr.sort(compare()));
} else if (order == '降序') {
function compare() {
return function (a, b) {
return b[index] - a[index];
}
}
return (arr.sort(compare()));
}
}
let arr = [
[1,5,3,7,34,12],
[76,43,45,23,6,5],
[3,2,8,6,44,3],
];
commonArrSort(arr,0,'升序'); // 按数组0下标排序,顺序为升序
// [ 结果
// [1, 5, 3, 7, 34, 12]
// [3, 2, 8, 6, 44, 3]
// [76, 43, 45, 23, 6, 5]
// ]