数组
-
1 存储的一系列相关的数据; 可以任意的数据类型
-
2数组的下标从 0 开始的; 数组是通过 下标 取值
数组声明:- 字面量形式
var arr = [1, 32,4] - 使用关键字new
var arr = new Array();
//手动添加值: 指定下标和对应的值
arr[0] = 1;
arr[2] = 2; - 使用new关键字传参
var arr = new Array(1, 3, 4, 5)
- 字面量形式
-
3 数组中取值:通过下标获取
var res = arr[0]
var res1 = arr[1]
方法
- 1 concat(arr1, arr2, …) 拼接两个数组, 返回值是拼接后的新数组
var arr1 = [1, 2, 3],
arr2 = ['hello','world'],
arr3 = [100, 200];
var res = arr1.concat(arr2, arr3);
0: 1
1: 2
2: 3
3: "hello"
4: "world"
5: 100
6: 200
// 返回值是拼接后的新数组
- 2 结果是对应的索引值
indexOf(params) : 检索第一次出现位置的索引值 params参数就是检索的值
lastIndexOf(params) 检索最后一次出现位置的索引值 params参数就是检索的值
如果不存在,结果 -1
判断数组中是否存在某个值,使用indexOf() 或者 lastIndexOf()
判断一个值是否只出现了一次; 使用 if(arr.indexOf(val) == arr.lastIndexOf(val)){}
var arr = [1, 2, 3, 4, 56, 60,100];
var num = 100;
var res = arr.indexOf("3");//字符串 不存在 返回-1
var res = arr.indexOf(3);// 返回索引值 是 2
var res = arr.indexOf(num);// 6
- 3 join(params) 将数组拼接为字符串; 最终的结果是一个字符串
没有参数: 默认将数组转换为字符串
参数为 空字符串: 整体转换为一个字符串
参数为 特定的字符或者字符串: 将数组中的逗号替换为指定的字符或者字符串
var arr = [1, 3, 4];
var res = arr.join();// 1,3,4
console.log(typeof res);//string
var res = arr.join('');// 134
var res = arr.join('大大');//1大大3大大4
- 4 往数组中添加值 得到的返回值是新数组的长度 .
往数组的最前边添加值 unshift()
往数组的最后边添加值 push()
var arr = [1, 2, 3];
arr.push(100);// [1, 2, 3, 100]
arr.unshift('hello');// ["hello", 1, 2, 3, 100]
- 5 删除数组中的值
pop() : 删除的数组的最后一个值 ; 返回值是被删除的数组的值
shift() : 删除数组的第一个值; 返回值是被删除的数组的值
var arr = [1, 2, 3, 4, 5, 6, 7, 'hello'];
arr.pop();// hello
arr.shift();// 1
- 6 截取数组 slice(startIndex, endIndex) : 包前不包后; 返回值被截取的数组
var arr = [1, 2, 3, 4, 5, 6, 7, 8];
var res = arr.slice(2);//[3, 4, 5, 6, 7, 8] 返回值是被截取的数组 从当前索引值截取后面所有的
console.log(arr);//1 2
// var res = arr.slice(2, 3);//[3]
- 7 数组的反转 reverse() 原数组会被反转,返回值是反转后的数组
var arr = [1, 2, 3];
var res=arr.reverse();//[3, 2, 1]
var res = arr.reverse().join(" ");//3 2 1
0: 3
1: 2
2: 1
- 8 数组的 排序 sort() 需要接受参数 ; 参数是一个函数
var array7=[1,100,2,28,58,500,6];
console.log(array7.sort());//如果不使用参数。位数不同的话,会根据第一个值排序 1,100,2,28,500,58,6 此时就出现问题
array7.sort(function(a, b){
return b - a; // 倒序
// return a - b; // 正序
});
console.log(array7);
- 9 splice() 数组的截取删除替换方法
一个参数x : 删除数组中的元素, 从指定的起点的索引值 开始删除; 在原数组进行删除(原数组变短); 返回值是被删除的数组
两个参数 x, y : 删除数组中的元素;从指定的索引值位置开始删除指定长度的数组; 返回值是被删除的数组
三个参数: x, y , z : 删除替换元素 z 就是替换的元素 ; 从指定的索引值 x 位置开始删除指定长度 y 的数组元素,在删除的位置上 替换为 指定的内容 z; 返回值是被删除的元素
var arr = [1, 2, 3, 4, 5, 6];
//var res = arr.splice(2);//[ 3, 4, 5, 6]]
//var res = arr.splice(2, 3); //[3,4,5]
var res = arr.splice(2, 3, 'hello')
console.log(arr);//[1, 2, "hello", 6]
console.log(res);// [3, 4, 5] 返回值是被删除的元素
- 10 将数组转换为字符串 toString() 注意和join()的区别
var arr = [1, 2, 34];
var res = arr.toString();//1,2,34