JS:构建重复值的数组

时间:2016-02-23 15:33:57

标签: javascript arrays iteration

我有一堆JavaScript对象是通过迭代从DB读取的两个JSON数组构建的,每个JSON数组的长度相同。在某些情况下,这些数组中的一个需要由相同的值组成,重复。因此,为了节省空间/杂乱,而不是存储重复相同值的数组,我只想用值存储它,然后在“对象构造”时重复它。什么是最好的(最惯用的?最安全的?)方法来实现这一目标?目前我在做:

var array1 = ['a', 'b', 'c', 'd', 'e', 'f', 'g'];
var array2 = [1, 7, 9];

array1.map(function(val, i) {
  var obj = {
    foo: val,
    bar: array2[i] || array2[array2.length-1]
  };
  return obj;
});

因此,如果未定义array2[i]的值,则使用数组中 last 位置的值,以便将其重复到适当的长度(这也包括只需要重复数组中最后N个值的情况,这也是我需要适应的情况。)

这有什么问题吗?是否有更好的(更优雅,更惯用,或其他)方式?

0 个答案:

没有答案