用另一个不同长度的数组更新对象数组
Posted
技术标签:
【中文标题】用另一个不同长度的数组更新对象数组【英文标题】: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'
]
实现这一结果的最有效方法是什么?
【问题讨论】:
【参考方案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;
)
);
【讨论】:
以上是关于用另一个不同长度的数组更新对象数组的主要内容,如果未能解决你的问题,请参考以下文章
我有一个基于所选城市长度不同的对象数组。如何选择包含具有特定属性的对象的元素?