通用规则:
1.方法参数中的start位置上的元素是被处理对象,end位置上的元素不是被处理对象
方法名:是否改变原数组
concat(): N
功能: 合并数组,并返回合并之后的数据
语法: array1.concat(array2, array3, ..., arrayX)
copyWithin(): Y
功能: 将数组元素复制到数组中的另一个位置,覆盖现有值。
语法: array.copyWithin(targetIndex, startIndex(可选), endIndex(可选))
entries() : N
功能:返回带有index/value对的 Array Iterator 对象。
语法:array.entries()
var fruits = ["Banana", "Orange", "Apple", "Mango"];
var f = fruits.entries();
for (x of f) {
console.group(x);
console.log(x[0]);
console.log(x[1]);
console.groupEnd();
}
every(): N
功能:都true则true否则false
语法:array.every(function(currentValue(必须), index, arr), thisValue)
var survey = [
{ name: "Steve", answer: "Yes"},
{ name: "Jessica", answer: "Yes"},
{ name: "Peter", answer: "Yes"},
{ name: "Elaine", answer: "Yes"}
];
function isSameAnswer(el, index, arr) {
console.group(arr[index].name);
console.log('el.name is:' + el.name);
console.log('el.answer is:' + el.answer);
console.log('this.answer is :' + this.answer);
console.groupEnd();
return (el.answer === this.answer);
}
console.log(survey.every(isSameAnswer,survey[0]));
fill(): Y
功能:使用指定参数值填充数组
语法:array.fill(value, start(可选), end(可选默认数组长度))
array.fill("笑着",1,2) //用"笑着"填充数组第二个元素
filter(): N
功能:返回判断结果为true的元素组成的新数组
语法:array.filter(function(currentValue, index, arr), thisValue)
find(): N
功能:返回第一个判断结果为true的元素,找不到返回undefined
语法:array.find(function(currentValue, index, arr), thisValue)
findIndex(): N
功能:返回第一个判断结果为true的元素索引,找不到返回-1
语法:array.findIndex(function(currentValue, index, arr), thisValue)
forEach(): N
功能:为数组中每一个元素执行一次函数
语法:array.forEach(function(currentValue, index, arr), thisValue)
Array.from():
功能:从具有 length 属性或可迭代对象的任何对象返回 Array 对象。
语法:Array.from(object, mapFunction(可选), thisValue(可选))
var myArr = Array.from("ABCDEFG");
object
想要转换成数组的伪数组对象或可迭代对象。
mapFn (可选参数)
新数组中的每个元素会执行该回调函数。
thisArg (可选参数)
执行回调函数 mapFn 时 this 对象。
includes(): N
功能:判断数组中是否包含指定元素
语法:array.includes(element, start(可选))
indexOf():
功能:在数组中搜索指定项目,并返回第一次出现的位置。找不到返回-1
语法:array.indexOf(item, start((可选,负值给定的位置将从结尾计数)))
Array.isArray():
功能:判断对象是否为数组
语法:Array.isArray(obj)
join():
功能:将数组元素转换为字符串
语法:array.join(separator(可选))
keys(): N
功能:返回数组全部数组键(索引)组成的新数组
语法:array.keys()
lastIndexOf():
功能:在数组中搜索指定项目,返回最后一次出现的位置
语法:array.lastIndexOf(item, start(可选,负值给定的位置将从结尾计数))
map(): N
功能:为每个数组元素调用函数的结果创建新数组并返回
语法:array.map(function(currentValue, index, arr), thisValue)
pop(): Y
功能:方法移除数组的最后一个元素,并返回该元素。
语法:array.pop()
push(): Y
功能:向数组末尾添加新项目,并返回新长度。
语法:array.push(item1, item2, ..., itemX)
这个函数的名字让人很难与其功能关联起来,
函数的功能是为数组的每一个元素调用指定函数,并累计结果,
也许函数名称修改为accumulator 会更合适一些。
reduce()/reduceRight(): N
功能:为每一个数组元素调用函数,initialValue为首次调用时total的初始值,函数的返回值作为下一次函数调用的的total值。
语法:array.reduce(function(total, currentValue, currentIndex, arr), initialValue)
var numbers = [15.5, 2.3, 1.1, 4.7];
var index = 1;
function getSum(total, num) {
console.group(index++);
console.log('total is:' + total);
console.log('num is:' + num);
console.groupEnd();
return total + num;
}
console.log(numbers.reduce(getSum, 0).toFixed(1));
reverse(): Y
功能:反转数组中元素的顺序
语法:array.reverse()
shift(): Y
功能:删除数组中的第一个项目并返回
语法:array.shift()
slice(): N
功能:返回数组中指定位置元素组成的新数组
语法:array.slice(start, end) // start,end可选,可为负值
sort(): Y
功能:排序
语法:array.sort(compareFunction)
var points = [40, 100, 1, 5, 25, 10];
points.sort(function(a, b){return a-b});
console.log(points);
splice(): Y
功能:从数组添加/删除项目,并返回删除的项目。
语法:array.splice(index, howmany, item1, ....., itemX(可选))
howmany参数指定删除元素数量,为0则不删除
var fruits = ["Banana", "Orange", "Apple", "Mango"];
var x = fruits.splice(2, 1, "Lemon", "Kiwi");
console.log(x);
console.log(fruits);
toString():
功能:返回包含所有数组值的字符串,以逗号分隔。( join功能更强大)
语法:array.toString()
这名字容易让人误会为undo shift啊。
unshift():
功能:将新项添加到数组的开头,并返回新的长度。
语法:array.unshift(item1, item2, ..., itemX)
网友评论