数组的方法
pop push shift unshift reverse sort splice contact join toStrint slice indexof every some map reduce from lastIndexOf
改变原数组
shift()t:删除数组的第一个元素,返回删除的值。这里是0
unshift(3,4):把参数加载数组的前面,返回数组的长度。现在list:中是3,4,0,1,2
pop():删除数组的最后一个元素,返回删除的值。这里是2.
push(3):将参数加载到数组的最后,返回数组的长度,现在List中时:0,1,2,3
reverse() 方法用于颠倒数组中元素的顺序
sort() 方法用于对数组的元素进行排序,在原数组上进行排序;
splice(index,howmany,item1,item2...itemx) 方法从index位置删除howmany个元素,并在index位置处添加几个元素,如果有删除元素,然后返回被删除的项目,同时也改变了原数组
不改变原数组:
concat()连接两个或多个数组值或是数组 arrayObject.concat(arrayX,arrayX,......,arrayX);
join() 方法用于把数组中的所有元素放入一个字符串;
toString() 方法可把数组转换为字符串,并返回结果,不改变原数组
slice(start,end) 方法可从已有的数组中返回选定的元素(子数组),start可为负,end 可选;
indexOf():接收两个参数:要查找的项和(可选的)表示查找起点位置的索引。其中, 从数组的开头(位置 0)开始向后查找。 找到之后返回该项在数组中的索引,未找到返回-1
lastIndexOf:接收两个参数:要查找的项和(可选的)表示查找起点位置的索引。其中, 从数组的末尾开始向前查找。找到之后返回该项在数组中的索引,未找到返回-1
forEach():对数组进行遍历循环,对数组中的每一项运行给定函数。这个方法没有返回值。参数都是function类型,默认有传参,参数分别为:遍历的数组内容;第对应的数组索引,数组本身。(es5)
···js
var arr = [1, 2, 3, 4, 5];
arr.forEach(function(x, index, a){
console.log(x + '|' + index + '|' + (a === arr));
});
// 输出为:
// 1|0|true
// 2|1|true
// 3|2|true
// 4|3|true
// 5|4|true
map():指“映射”,对数组中的每一项运行给定函数,返回每次函数调用的结果组成的数组。
下面代码利用map方法实现数组中每个数求平方。
var arr = [1, 2, 3, 4, 5];
var arr2 = arr.map(function(item){
return item*item;
});
console.log(arr2); //[1, 4, 9, 16, 25]
filter(function(x,index)):“过滤”功能,数组中的每一项运行给定函数,返回满足过滤条件组成的数组。默认传入的值为数组值和当前索引
var arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
var arr2 = arr.filter(function(x, index) {
return index % 3 === 0 || x >= 8;
});
console.log(arr2); //[1, 4, 7, 8, 9, 10]
every(function(x,index,arr){}):判断数组中每一项都是否满足条件,只有所有项都满足条件,才会返回true。
var arr = [1, 2, 3, 4, 5];
var arr2 = arr.every(function(x) {
return x < 10;
});
console.log(arr2); //true
var arr3 = arr.every(function(x) {
return x < 3;
});
console.log(arr3); // false
some():判断数组中是否存在满足条件的项,只要有一项满足条件,就会返回true。
var arr = [1, 2, 3, 4, 5];
var arr2 = arr.some(function(x) {
return x < 3;
});
console.log(arr2); //true
var arr3 = arr.some(function(x) {
return x < 1;
});
console.log(arr3); // false
arr.reduce([callback, initialValue]) callback
执行数组中每个值的函数,包含四个参数:
previousValue
上一次调用回调函数返回的值,或者是提供的初始值(initialValue)
currentValue
数组中当前被处理的元素
currentIndex
当前被处理元素在数组中的索引, 即currentValue的索引.如果有initialValue初始值, 从0开始.如果没有从1开始.
array
调用 reduce 的数组 initialValue 可选参数, 作为第一次调用 callback 的第一个参数。最后一次调用回调函数返回的结果
Array.from(arrayLike, mapFn, thisArg) 方法从一个类似数组或可迭代对象中创建一个新的数组实例。
arrayLike想要转换成数组的伪数组对象或可迭代对象。
mapFn (可选参数)如果指定了该参数,新数组中的每个元素会执行该回调函数。
thisArg (可选参数)可选参数,执行回调函数 mapFn 时 this 对象。
返回一个新的数组 (es6)
创建一个空对象的方式
var ob = {}
var ob = new Object()
var ob = Object.create(null)
前两种创建方式会有原型,第三种方式是真正意义上的空对象,无原型
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。