# js数组基础整理
# 1. 数组的遍历
- for
let arr = [7, 5, 9];
// console.dir(arr);
for(let i=0; i<arr.length; i++){
console.log(arr[i]);
}
1
2
3
4
5
6
2
3
4
5
6
- for in
let arr = [7, 5, 9];
for(let key in arr){
console.log(arr[key]);
}
1
2
3
4
5
2
3
4
5
# 2. 数组的增加、修改、删除
# 1. 向数组末尾新增一项(push)
let arr = [7, 5, 9];
arr.push(111);
console.dir(arr);
1
2
3
4
2
3
4
# 2. 返回值(长度)
let arr = [7, 5, 9];
let res = arr.push(999, "qqq");
console.log(res, arr);
1
2
3
4
2
3
4
# 3. 删除数组中的最后一项(pop)
let arr = [7, 5, 9];
let res = arr.pop();
console.log(res, arr);
arr.length--;
console.log(arr);
1
2
3
4
5
6
7
2
3
4
5
6
7
# 4. 删除数组中的第一项(shift)
let arr = [7, 5, 9];
let res = arr.shift();
console.log(res, arr);
1
2
3
4
2
3
4
# 5. 向数组开头增加一项(unshift)
let arr = [7, 5, 9];
let res = arr.unshift(1000);
console.log(res, arr);
1
2
3
4
2
3
4
# 3. 实现增加、删除、修改(splice)
# 1. 删除
let arr = [55, 88, 99, 33, 66, 44, 22];
console.log(arr);
//删除
//ary.splice(n, m) 从索引n开始,删除m个元素,把删除的内容以一个新数组的方式返回
//ary.splice(n) 从索引n开始,删除到数组末尾
//ary.splice(0),清空数组(克隆之前的数组)
//ary.splice()未删除,返回原数组
let res = arr.splice(1, 3);
console.log(res, arr);
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
# 2. 修改
let arr = [55, 88, 99, 33, 66, 44, 22];
//splice(n, m, x),从索引n开始,删除m个,用x修改
let res = arr.splice(1, 3, 1000);
console.log(res, arr);
1
2
3
4
5
2
3
4
5
# 3. 增加
let arr = [55, 88, 99, 33, 66, 44, 22];
//splice(n, 0, x),从索引n开始,不删除,把x放在n前面
let res = arr.splice(1, 0, 1000);
console.log(res, arr);
//增加到末尾
let res = arr.splice(arr.length, 0 , 2000);
console.log(res, arr);
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
# 4. 数组的截取和拼接(slice截取)
// slice(n, m), 从索引n开始,找到索引m处,不包含m
// slice(n),从索引n开始,找到数组的末尾
// concat 把两个数组拼接到一起
1
2
3
2
3
# 5. 数组转换成字符串
- toString
// join("x"),用x分隔字符串
let arr = [55, 88, 99, 33, 66, 44, 22];
console.log(arr.join("+"));
// eval把js中字符串转换成js表达式(求和)
console.log(eval(arr.join("+")));
1
2
3
4
5
6
7
2
3
4
5
6
7
# 6. 倒序排列(reverse)
let arr = [55, 88, 99, 33, 66, 44, 22];
let res = arr.reverse();
console.log(res);
1
2
3
4
2
3
4
# 7. sort(从大到小排序)(按Unicode码)
let arr = [55, 88, 99, 33, 66, 44, 22];
let res = arr.sort();
console.log(res);
let res = arr.sort(function(a, b){
// return a - b; //从小到大排序
// return b - a; //从大到小排序
});
//indexOf,验证是否存在(不存在返回-1)
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
# 8. 遍历数组forEach、map
let arr = [55, 88, 99, 33, 66, 44, 22];
arr.forEach(function(item, index){
console.log(item, index);
});
1
2
3
4
5
2
3
4
5
# 9. 返回的新数组每项都*10(替换原来的数组)
let arr = [55, 88, 99, 33, 66, 44, 22];
let res = arr.map(function(item, index){
return item * 10;
});
console.log(res);
1
2
3
4
5
6
2
3
4
5
6