一. 创建数组的两种方式
1.字面量方式
var arr = [1,"test",true];
2.new Array()
var arr = new Array();
var arr=new Array(4) // array.length=4
var arr=new Array(1,2,3) // array[1,2,3]
参数传递规则如下:
如果只传入一个参数,则参数规定了数组的长度
如果传入了多个参数,则参数称为数组的元素
二.检测变量是否为数组
instanceof Array 运算符
作用 : 检测变量是否是某个构造函数的实例
var arr = [1, 23];
var obj = {
};
console.log(arr instanceof Array); // true
console.log(obj instanceof Array); // false
Array.isArray()
作用 : 用于判断一个对象是否为数组
var arr = [1, 23];
var obj = {
};
console.log(Array.isArray(arr)); // true
console.log(Array.isArray(obj)); // false
三.数组方法
数组常用方法
方法 | 描述 |
---|---|
toString() | 把数组转换为数组值(逗号分隔)的字符串并返回 |
join() | 使用分隔符,将数组转为字符串并返回 |
concat() | 合并数组,并返回合并之后的数据 |
push() | 在最后一位新增一或多个数据,返回新数组长度 |
unshift() | 在第一位新增一或多个数据,返回新数组长度 |
pop() | 删除最后一位,并返回删除的数据 |
shift() | 删除第一位,并返回删除的数据 |
reserve() | 反转数组,返回结果 |
sort() | 排序(字符规则),返回结果 |
slice() | 截取指定位置的数组,并返回数据 |
splice() | 删除指定位置并替换,返回删除的数据 |
indexOf() | 查询并返回数据的索引 |
lastIndexOf() | 反向查询并返回数据的索引 |
valueOf() | 返回数组对象的原始值 |
toString()
toString()
数组转字符串 不会改变原数组,返回值以逗号分隔的字符串
// 1.toString() // 返回字符串
let arr = ["a", "b", "c", "d"];
console.log(arr.toString()); // a,b,c,d
join()
join()
数组转字符串 , 方法不会改变原数组,返回值为一个由参数拼接的字符串;当里面的参数为空时,默认使用逗号分隔,有参数时使用参数分隔。
// 2.join("") // 返回字符串
let arr1 = ["a", "b", "c", "d"];
console.log(arr1.join("")); // abcd
console.log(arr1.join(",")); // a,b,c,d
console.log(arr1.join("&")); // a&b&c&d
concat()
concat()
数组合并 , 方法不会该改变原数组,返回值为一个新数组。
// concat()
let a = [1, 2, 3];
let b = [8, 9, 10];
console.log(a.concat(b)); // [1, 2, 3, 8, 9, 10]
console.log(a.concat(4, 5)); // [1, 2, 3, 4, 5]
console.log(a.concat([4, 5, 6])); // [1, 2, 3, 4, 5, 6]
console.log(a.concat(4, [5, 6], 7)); // [1, 2, 3, 4, 5, 6, 7]
push()
push()
尾部添加元素 , 方法会改变原数组,返回值为添加后的数组长度
// 1.push(参数..) // 末尾添加,返回新数组的长度
let arr2 = [1, 2, 3];
console.log(arr2.push(4, 5))