ES6中数组的扩展:
---------------------------------------------------《持续更新中》------------------------------------------------------
目录
map
map 映射的意思。 将原数组映射成新的数组。注意:map必须有返回值,若没有返回值,则新的数组都是undefined.
var arr = [1, 3, 5, 4, 8];
arr = arr.map(item => {
return item * 2
});
console.log(arr);
若没有返回值,则会返回undefined
var arr = [1, 3, 5, 4, 8];
arr = arr.map(item => {
item * 2
});
console.log(arr);
Array.from()
Array.from() 方法可以将类似于数组的对象转为真正的数组,比如说伪数组,arguments。
如果是一个对象,必须要有length属性才可以转为数组,
1.如果length比属性个数要多,多生成的元素是undefined,
2.如果length比属性个数要少,只会生成前length个元素。基于下标。
3.如果没有length属性,则生成一个空数组。
<ul>
<li>第1个li标签</li>
<li>第2个li标签</li>
<li>第3个li标签</li>
<li>第4个li标签</li>
</ul>
var lis = document.querySelectorAll("li");
console.log(Array.from(lis));
var arrLike = {
"1": "e",
"2": "l",
"3": "l",
"4": "o",
"0": "h",
length: 4
}
console.log(Array.from(arrLike));
Array.of()
Array.of 方法:用于将一组数值,转为数组。(创建数组,用于替代 new Array())
var arr = Array.of(5, {age: 20}, true,"20");
console.log(arr);
copyWithin()
copyWithin():在当前数组内部,将指定位置的成员复制到其他位置,复制会替换原有成员,返回当前数组。 会修改原数组。注意:含头不含尾!
参数:
1.(必须)从该位置开始替换数据。
2.(可选)从该位置开始读取数据,默认值是0。
3.(可选)到该位置停止读取数据。默认值是数组的长度。如果是负数,表示倒数。最后一个值的位置是-1。
var arr = [1, 3, 5, 2, 4, 6];
arr.copyWithin(0, 3, arr.length);
console.log(arr);
filter(callBack)
filter(callBack): 遍历并过滤出一个新的数组,数组中包含的是返回条件为true的值。
var arr = [1, 3, 5, 2, 4, 6];
var arr2 = arr.filter(item => item > 3)
console.log(arr2);
every(callBack)
every(callBack):数组中的元素全部满足判断条件,如果都满足则返回true,否则返回false。
var arr = [1, 3, 5, 2, 4, 6];
var flag = arr.every(item => item > 0)
console.log(flag);
some(callBack)
some(callBack) :数组中的元素只要有一个满足判断条件,则返回true,如果都不满足,返回fasle。 注意比较every(callBack)。
var arr = [1,3,5,2,4,6];
var flag = arr.some(item=>item>6)
console.log(flag);
includes(值)
includes(值) :判断数组中是否有指定的值。如果有,返回true,没有返回false。
var arr = [1, 3, 5, 2, 4, 6];
var flag = arr.includes(6);
console.log(flag);
find(callBack)
find(callBack) :找到第一个符合条件的元素。
ar arr = [1,3,5,2,4,6];
var flag = arr.find(item=>item>3)
console.log(flag);
findIndex(callBack)
findIndex(callBack):找到第一个符合条件的元素的下标。
注意:对比 find(callBack)。
var arr = [1, 3, 5, 2, 4, 6];
var flag = arr.findIndex(item => item > 3)
console.log(flag);