数组扩展


1. Array.from(v) : 将伪数组对象或可遍历对象转换为真数组
2. Array.of(v1, v2, v3) : 将一系列值转换成数组
3. find(function(value, index, arr){return true}) : 找出第一个满足条件返回true的元素
4. findIndex(function(value, index, arr){return true}) : 找出第一个满足条件返回true的元素下标
5. keys() : 返回包含所有下标的可迭代对象
6. values() : 返回包含所有值的可迭代对象
7. entries() : 返回包含所有下标和值的可迭代对象


//1. Array.from(v) : 将伪数组对象或可遍历对象转换为真数组
var arr = [2, 4, 6];
arr.forEach(function (item, index) {
console.log(index, item);
})

var buttons = document.getElementsByTagName("button");
/*
buttons.forEach(function (button, index) { //buttons不是真数组, 没有forEach
console.log(button);
});
*/

Array.from(buttons).forEach(function (button, index) { //buttons不是真数组, 没有forEach
console.log(button, index);
});

//2. Array.of(v1, v2, v3) : 将一系列值转换成数组
arr = Array.of(2, true, 'atguigu');
console.log(arr);

//3. find(function(value, index, arr){return true}) : 找出第一个满足条件返回true的元素
arr = [3, 8, 5];
//找出第一个>4的数
var result = arr.find(function (value, index, arr) {
return value>4; //如果返回true, 当前的value作为find()的结果返回
//return value>9;
});
console.log(result);

//4. findIndex(function(value, index, arr){return true}) : 找出第一个满足条件返回true的元素下标
//找出第一个>4的数的下标
var result = arr.findIndex(function (value, index, arr) {
return value>4; //如果返回true, 当前的index作为findIndex()的结果返回
//return value>9;
});
console.log(result);
//5. keys() : 返回包含所有下标的可迭代对象
var keys = arr.keys();
console.log(keys); //ArrayIterator
for(let key of keys) {
console.log(key);
}
//6. values() : 返回包含所有值的可迭代对象
for(let value of arr.values()) {
console.log(value);
}
//7. entries() : 返回包含所有下标和值的可迭代对象
for(let [index, value] of arr.entries()) {
console.log(index, value);
}
posted @ 2016-07-12 15:50  学习呗!  阅读(137)  评论(0编辑  收藏  举报