Array.from和和Array.of 的用法

  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()

  1. 创建一个可变数量参数的新数组,而不考虑参数的类型和数量;
    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 

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Array.from和Array.of是两个不同的Array构造函数的静态方法。 1. Array.from: - Array.from方法用于从可迭代对象或类数组对象创建一个新的数组实例。 - 它接受一个类数组对象或可迭代对象作为第一个参数,可以是类似数组的对象(拥有length属性和索引)或可迭代对象(如Set、Map、字符串等)。 - 可选的第二个参数是一个映射函数,用于对每个元素进行映射转换。 - 可选的第三个参数是指定映射函数中this的值。 - 返回一个新的数组实例。 示例使用Array.from方法创建一个新的数组实例: ```javascript const str = 'hello'; const arr = Array.from(str); console.log(arr); // ['h', 'e', 'l', 'l', 'o'] ``` 2. Array.of: - Array.of方法用于创建一个新的数组实例,不论传递的参数数量是多少。 - 它接受任意数量的参数作为数组的元素值,并返回一个包含这些元素的新数组实例。 - 与Array构造函数不同,如果只传递一个参数且该参数为数字类型,则会创建一个具有指定长度的空数组,而不是包含该数字作为唯一元素值的数组。 示例使用Array.of方法创建新的数组实例: ```javascript const arr1 = Array.of(1, 2, 3); console.log(arr1); // [1, 2, 3] const arr2 = Array.of(5); console.log(arr2); // [5] const arr3 = Array.of(5, 'hello', true); console.log(arr3); // [5, 'hello', true] ``` 总结: - Array.from方法用于从可迭代对象或类数组对象创建新的数组实例,并可选择进行映射转换。 - Array.of方法用于创建一个新的数组实例,不论传递的参数数量是多少。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值