1. instanceof操作符 是 用于检测构造函数的 prototype(原型) 属性上是什么类型(可以判断任意类型)
var a = [];
var b = {};
console.log(a instanceof Array); // true
console.log(b instanceof Array); // false
2. Array.isArray() 方法 判断一个对象是否为数组, 如果对象是数组返回 true,否则返回 false。
var a = [];
var b = {};
console.log(Array.isArray(a)); // true
console.log(Array.isArray(b)); //false
二,转换方法
1.toString() 将数组转换成 字符串
var a = [1, 2, 3];
var b = {
name: "张三",
age: 18
};
console.log(a.toString()); // 1,2,3
console.log(b.toString()); // [object Object]
2.toLocaleString() 将数组转换成字符串(有一些高级语法 自行研究 哈哈哈)
var a = [1, 2, 3];
var b = {
name: "张三",
age: 18
};
console.log(a.toLocaleString()); // 1,2,3
console.log(b.toLocaleString()); // [object Object]
3.valueOf()
4.join() 把数组 通过间隔符 的方式拼接成字符串
var a = [1, 2, 3, 4, 5];
console.log(a.join('-')); //1-2-3-4-5
console.log(a.join()); //默认 通过 , 号分割 1,2,3,4,5
三,栈方法和队列方法
1.push() 将参数添加到 数组的末尾 返回数组的长度
var a = [1, 2, 3, 4, 5];
var b = [6, 7, 8]
console.log(a.push(b)); //返回数组的长度 6
console.log(a); //[1, 2, 3, 4, 5, Array(3)]
2.pop() 将数组中最后一项 移除 返回移除的值
var a = [1, 2, 3, 4, 5];
var b = [6, 7, 8]
console.log(a.pop()); //返回 移除的值 5
console.log(a); // [1, 2, 3, 4]
3.unshift() 将在数组最前面添加 一个项 返回值: 返回数组的长度
var a = [1, 2, 3, 4, 5];
var b = [6, 7, 8]
console.log(a.unshift(b)); //返回 数组的长度 6
console.log(a); // [Array(3), 1, 2, 3, 4, 5]
4.shift() 删除最前面一项 返回值:返回 删除的值
var a = [1, 2, 3, 4, 5];
var b = [6, 7, 8]
console.log(a.shift()); //返回 删除的值 1
console.log(a); // [2, 3, 4, 5]
四,排序方法
1.reverse() 翻转数组
var a = [1, 2, 3, 4, 5];
var b = [6, 7, 8]
a.reverse() // 翻转数组
console.log(a);
2.sort() 数组的排列(底层原理就是通过 冒泡 实现 )
var a = [2, 1, 3, 5, 4];
var b = [6, 7, 8]
a.sort(); //升序排列数组
console.log(a); //[1, 2, 3, 4, 5]
五操作方法
1.拼接数组 concat() concat拼接数组,可以拼接多个 返回值:返回一个新数组
var a = [2, 1, 3, 5, 4];
var b = [6, 7, 8];
var d = [10, 11, 12, 13]
var c = a.concat(b, d); // 通过 concat方法 插入 b ,d
console.log(c); //(12) [2, 1, 3, 5, 4, 6, 7, 8, 10, 11, 12, 13]
2.裁减数组 slice() 可以添加 2个参数 返回值: 截取的内容
var a = [2, 1, 3, 5, 4];
var b = [6, 7, 8, 9, 10, 11];
var c = a.slice(2); // 传入一个值代表 截取的起始位置,到最后一个
console.log(c); //(3) [3, 5, 4] //返回值 截取的内容
var d = b.slice(0, 2); //参数1 起始位置 参数2 结束位置
console.log(d); // (2) [6, 7] // 返回值截取的内容
3.修改数组 splice()
1.传入一个值代表,删除的数据的起始位置
2.传入两个值代表, 参数一 ,删除的起始位置 , 参数二 , 删除的指定数量
3.传入三给值或多个值,参数一 ,删除的起始位置 , 参数二 , 删除的指定数量 ,参数三,替换的文本 ,
var a = [2, 1, 3, 5, 4];
var b = [6, 7, 8, 9, 10, 11];
var c = [12, 13, 14, 15, 16, 17];
//传入一个值 则从起始位置删除到数组末尾之间的所以数据
a.splice(2);
console.log(a); // [2, 1]
//传入二给值 则从起始位置删除指定的数量
b.splice(2, 3);
console.log(b); //(3) [6, 7, 11]
//传入三给值或多个值 则先删除起始位置到指定数量,在替换其他参数
c.splice(3, 1, '韩', '非');
console.log(c); //(7) [12, 13, 14, "韩", "非", 16, 17]
4.copyWithin()
5. 数组替换值fill()
1.参数一:指定填充的值
2.参数二:指定填充开始的位置
3.参数三:指定填充结束的位置
var a = [2, 1, 3, 5, 4];
var b = [2, 1, 3, 5, 4];
var c = [2, 1, 3, 5, 4];
a.fill('韩') // 替换数组里面的所以数据
console.log(a); //(5) ["韩", "韩", "韩", "韩", "韩"]
b.fill('韩', 2) // 替换 数组从 下标2 开始替换
console.log(b); //(5) [2, 1, "韩", "韩", "韩"]
c.fill('韩', 2, 4) // 替换 数组从 下标 2 开始 替换到 下标 4
console.log(c); //(5) [2, 1, "韩", "韩", 4]
六,位置方法
1. 从前面查找数组指定的值 indexOf()
1.参数一:指定查找的值
2.参数二,起始位置
返回值:如果要检索的字符串值没有出现,则该方法返回 -1。出现一次就是0
2. 从后面查找数组指定的值 lastIndexOf()
1.参数一:指定查找的值
2.参数二,起始位置
返回值:如果要检索的字符串值没有出现,则该方法返回 -1。出现一次就是0
七,归并方法
1.reduce()
2.reduceRight()
八,创建数组的新方法
1. Array.from()
2. Array.of()
九,循环方法
1.every()
2.some()
3.filter()
4.forEach() 循环数组,里面接收一个函数 函数接收3个参数 没有返回值
1.参数一:循环的当前项
2.参数二:索引
3.参数三:是循环的数组
5.map()
6.find()
7.findindex()
十,其他方法
1.entries()
2.keys()
3.values()
4.includes()