Array类型
数组的常见方法
检测数组类型
var arr = [1,2,3,4,5];
console.log(arr instanceof Array);//true
//Object.prototype.toString.call()方法可以准确判断当前变量的类型
console.log(Object.prototype.toString.call(arr));//[object Array]
//Object.prototype.isPrototypeOf()方法判断指定类型是否在当前对象的原型链中
console.log(Array.prototype.isPrototypeOf(arr));//true
console.log(Array.isArray(arr));//true
转换方法
- toString()-把数组转换成字符串,并返回结果
- valueOf()-返回数组对象的原始值
var arr = [1,2,3,4,5,6,7];
//数组转换为字符串形式,多个数组元素用逗号隔开
console.log(arr.toString());//1,2,3,4,5,6,7
//将数组转化为原始类型
console.log(arr.valueOf());//[ 1, 2, 3, 4, 5, 6, 7 ]
var ojb ={
name : '花'
} ;
console.log(ojb.valueOf());//{ name: '花' }
进出栈方法
var arr = [1,2,3,4,5];
//push()方法-在数组末尾添加一个或多个元素,并返回新的长度
console.log(arr);//[ 1, 2, 3, 4, 5, 6 ]
console.log(arr.push());//6
//pop()方法删除数组最后一个元素并返回删除的元素
console.log(arr.pop());//6
console.log(arr);//[ 1, 2, 3, 4, 5 ]
//unshift()-在数组开头添加一个或多个元素,并返回新的长度
console.log(arr.unshift(7));//6
console.log(arr);//[ 7, 1, 2, 3, 4, 5 ]
//shift()-删除并返回数组第一个元素
console.log(arr.shift());//7
###排序方法
- reverse()-反转数组的元素顺序
- sort()-对数组的元素进行排序
注意:返回值是排序之后的数组
var arr = [1,2,3,4,5];
//reverse()-反转数组元素的顺序
console.log(arr.reverse());//[ 5, 4, 3, 2, 1 ]
//sort()-改变元素的顺序,根据Unicode码排序
console.log(arr.sort());//[ 1, 2, 3, 4, 5 ]
连接方法
var arr = [1,2,3,4,5];
//concat()-连接多个数组
console.log(arr.concat(6));//[ 1, 2, 3, 4, 5, 6 ]
操作方法
- slice()-选取数组的一部分,并返回一个新数组
- splicle()-从数组中添加或删除元素
var arr = [1,2,3,4,5];
/* slice()-截取一部分数据并作为新数据输出
* 参数
* begin-开始截取的位置
* end-截取最后的位置的下一个位置*/
/*
console.log(arr.slice(0,3));//[ 1, 2, 3 ]*/
/* splice()-添加或删除元素
* 参数
* start-表示删除的开始位置
* deleteCount-表示删除的个数
* 返回值-删除的元素组成新的数组返回*/
console.log(arr.splice(0,4));//[ 1, 2, 3, 4 ]
console.log(arr);//[ 5 ]
检索方法
- indexOf()-搜索数组中的元素,并返回它所在的位置
- lastindexOf()-返回一个指定的字符串值最后出现的位置,在一个字符串中的指定位置从后往前搜索。
var arr = [1,2,3,4,5,6,7];
//indexOf()-从左向右检索指定元素,遇到第一个置顶元素返回它的位置
console.log(arr.indexOf(3));//2
//lastindexOf()-从右向左检索指定元素,遇到第一个置顶元素返回它的位置
console.log(arr.lastIndexOf(5));//4
//检索数组不存在的元素返回-1
console.log(arr.lastIndexOf(8));//-1
迭代与归并方法
迭代方法
- every() -判断数组中每个元素是否都满足fun函数定义的条件,都满足返回true,否则返回flase
- filter() -专门用于筛选出数组中符合fun函数判断条件的元素组成的新数组
- forEach()- 专门用于对原数组中每个元素执行相同的fun函数对象规定的操作
- map()- 专门用于基于原数组创建新数组对象
- some()- 判断是否包含满足fun函数定义的条件的元素,只要包含就返回true,否则返回flase
var arr= [1,2,3,4,5];
/* Array.prototype.forEach()
* 参数
* callback - 表示回调函数
* currentValue - 遍历数组得到每个元素
* index - 表示遍历数组得到的每个元素的索引值
* array - 表示遍历的数组*/
arr.forEach(function(currentValue,index,array){
console.log(currentValue)
});
var arr = [1,2,3,4,5,6,7];
/* accumulator - 累加器的返回值
- currentValue - 数组正在处理的元素(没有第一位元素)
- currentIndex - 数组正在处理的元素的索引值
- */
arr.reduce(function (accumulator,currentValue,currentIndex,array) {
console.log(accumulator);
return accumulator+currentValue
});
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。