【问题标题】:Updating an array of objects with another array of different length用另一个不同长度的数组更新对象数组
【发布时间】:2021-07-30 21:25:38
【问题描述】:

我有一个包含单个键值对的对象数组,以及一个长度可能小于对象数组的字符串数组。

let objectArray = [
    {foo: ''},
    {foo: ''},
    {foo: ''},
    {foo: ''},
    {foo: ''}
  ]

let stringArray = ['a','b','c']

我想将字符串数组按顺序分配给对象数组中的 foo 键。如果长度较短,字符串数组将被重用。例如,想要的输出是:

let result = [
    {foo: 'a'},
    {foo: 'b'},
    {foo: 'c'},
    {foo: 'a'},
    {foo: 'b'}
  ]

实现这一结果的最有效方法是什么?

【问题讨论】:

    标签: javascript arrays object binding bind


    【解决方案1】:

    您可能想要使用余数 (%) 运算符来“环绕”。

    见:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Remainder


    let objectArray = [
      {foo: ''},
      {foo: ''},
      {foo: ''},
      {foo: ''},
      {foo: ''}
    ];
    let stringArray = ['a','b','c'];
    
    console.log(
      objectArray.map((elem, idx) => {
        elem.foo = stringArray[idx % stringArray.length];
        return elem;
      })
    );

    【讨论】:

      猜你喜欢
      • 2021-10-22
      • 2021-12-09
      • 2018-06-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-03-12
      • 1970-01-01
      • 2023-03-04
      相关资源
      最近更新 更多