js 数组Array的常用方法 es3 es5 es6
1.伪数组
1.1对象和伪数组的差别:
1.对象的原型链上只有Object.prototype,而数组的原型链上有Array.prototype和Object.prototype —所以伪数组无法使用数组的方法;
2.对象没有length属性,数组有并且自动更新;
3.对象根据键值对取值,而数组根据序号(索引)取值。
1.2定义伪数组:
1.拥有length属性,其他属性为非负整数字符串(因为对象使用[]来取值,会将数值隐式转换为字符串)—伪数组是对象,键比较特殊;
2.不具有数组具有的方法,即原型链上没有Array.prototype。
内容如下:
<script>
var fakeArray = {
"0":"first",
"1":"second",
"2":"third",
length:3,
}
</script>
2.数组方法
2.1 ES3数组方法:
增删系列方法:push()、unshift()、pop()、shift()、concat()、slice()、splice();
排序系列方法:reverse()、sort();
数组与字符串相互转换系列方法:toString()、join()、split();
这一块比较熟悉,主要从参数,返回值和式例来归纳:
增删系列方法
push()
push(元素1,元素2,…,元素n)
语法:arr.push(element1, …, elementN)
功能:将一个或多个元素添加到数组的尾部。
返回值:添加元素后,新数组的长度。—改变原数组
<script>
var arr = [1]
arr.push(2,3,4)
console.log(arr) //[1, 2, 3, 4]
</script>
unshift()
unshift(元素1,元素2,…,元素n)
语法:arr.unshift(element1, …, elementN)
功能:将一个或多个元素添加到数组的开头。
返回值:添加元素后,新数组的长度。—改变原数组
<script>
var arr = [1]
arr.unshift(2,3,4)
console.log(arr) //[2, 3, 4, 1]
</script>
pop()
语法:arr.pop()
功能:从数组中删除最后一个元素。
返回值:删除元素后,被删除的元素。—改变原数组
<script>
var arr = [1,2,3,4]
arr.pop() //4
console.log(arr) //[1, 2, 3]
</script>
shift()
语法:arr.shift()
功能:从数组中删除第一个元素。
返回值:删除元素后,被删除的元素。—改变原数组
<script>
var arr = [1,2,3,4]
arr.shift() //1
console.log(arr) //[2, 3, 4]
</script>
concat()
concat(数组1,数组2,…,数组n)
语法:var newArray = oldArray.concat(array1[, array2[, …[, arrayN]]])
功能:用于合并两个或多个数组。
返回值:合并后的新数组—不会改变原数组
<script>
var a = [0,1,2],
b = [3,4,5],
c = [6,7,8];
a.concat() //[0, 1, 2]
a.concat(b,c) //[0, 1, 2, 3, 4, 5, 6, 7, 8]