allData.total = 10;
allData.runNum = 5;
allData.pumpList = Array.from(
{ length: allData.total },
(v, k) => ({
kjState: allData.runNum <= k ? 1 : 0,
})
);
根据总数和运行数量遍历数组。
1.会把一个类数组或对象,转成真正的数组,但是这个类数组必须具有length属性
var list={
0:"韩信",
1:"李白",
2:"诸葛亮",
3:"赵云",
length:4
}
var arr = Array.from(list)
console.log(arr);//输出结果: ["韩信", "李白", "诸葛亮", "赵云"]
2.可以讲一个字符串转成数组的形式
var str = 'chenbin'
var arr1 = Array.from(str)
console.log(arr1);// 输出结果: ["c", "h", "e", "n", "b", "i", "n"]
3.可以传入第二个参数,类似于map()方法(Array.from(obj,mapFn,thisArg)的格式相当于Array.from(obj).map(mapFn,thisArg)),将每个元素进行处理,将处理后的元素放回数组
var arr3 = [1,2,3,4,5]
var newarr = new Set(arr3)
console.log(Array.from(newarr,item=>item+1));//输出结果: [2, 3, 4, 5, 6]
Array.of()
- 创建一个可变数量参数的新数组,而不考虑参数的类型和数量;
Array.of()和Array构造函数的区别:在于处理整数参数;
Array(7)表示创建了一个长度为7的空数组;
Array.of(7)表示创建了一个数组里面有单个元素7的数组,它的长度为1。var arr1 = Array(10) console.log(arr1); // [empty × 10] 是一个长度为10的空数组 var arr2 = Array.of(10) console.log(arr2); // [10] 是一个有单个元素10的数组,它的长度为1
es6中其他的一些方法:
1.find()方法:返回数组中满足要求的第一个值,如果没有就返回undefined。当找到第一个值就会立即停止。
var list=[ {name:'apples',dates:2019}, {name:'bananas',dates:2016}, {name:'oranges',dates:2014}, {name:'pears',dates:2018}, ] var li = list.find(fruit => fruit.name==='apples')
2.findIndex()方法:返回数组中满足要求的值得索引
var index = list.findIndex(fruit=>fruit.name==='oranges') console.log(index);//2
3.some()判断数组中是否有元素通过函数测试,如果有就返回true,没有就返回false
console.log(list.some(fruit=>fruit.dates===2019));//true
4.every()判断数组中所有的元素是否都通过函数的测试,返回的是布尔值
console.log(list.every(fruit=>fruit.dates===2019));//false