账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    如何根据数组中,某个字段的大小,依次赋值?
    66
    0

    现在有一个数组

    let arr = [
        {num: 3},
        {num: 4},
        {num: 1},
        {num: 2},
        {num: 0}
    ]

    有没有什么简便的方法, 按照num的从大到小依次赋值 level 1-5?

    最后得出数据为

    let arr = [
        {num: 4, level: 1},
        {num: 3, level: 2},
        {num: 2, level: 3},
        {num: 1, level: 4},
        {num: 0, level: 5}
    ]

    我想到一个比较蠢的,就是 先用sort 自定义函数,将它进行排序, 然后for循环,从1开始 对level依次赋值。

    有没有什么一步到位的方式?

    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • ╰︶ ̄莫等闲 普通会员 1楼

      在JavaScript中,你可以使用for循环和reduce函数来根据数组中某个字段的大小,依次赋值。以下是一个例子:

      ```javascript let arr = [ {name: 'John', age: 30}, {name: 'Jane', age: 25}, {name: 'Bob', age: 40} ];

      let fieldSize = 2;

      let result = arr.map((item, index) => { if (index === fieldSize) { item.age = item.age * 2; } return item; });

      console.log(result); ```

      在这个例子中,我们首先定义了一个数组arr和一个字段大小fieldSize。然后,我们使用map函数和一个内部的for循环来遍历数组中的每个元素。如果当前元素的索引等于fieldSize,那么我们就将这个元素的年龄乘以2,然后将这个结果赋值给当前元素的age字段。最后,我们打印出结果数组。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部