如何在javascript中多次重复对象

如何在javascript中多次重复对象,javascript,Javascript,我有一个目标 SpecialObj={ 0:[{lqd: 88, date: "2017-08-18 09:30:00"}, {lqd: 77, date: "2017-08-19 14:00:00"} ], 1:[ {lqd: 33, date: "2017-08-17 10:30:00"}, {lqd: 11, date: "2017-08-16 12:00:00"} ], 2:[ {lqd: 44, date: "2017-08-14 13:30:00"},

我有一个目标

SpecialObj={
0:[{lqd: 88, date: "2017-08-18 09:30:00"},
   {lqd: 77, date: "2017-08-19 14:00:00"}
],
1:[
    {lqd: 33, date: "2017-08-17 10:30:00"},
    {lqd: 11, date: "2017-08-16 12:00:00"}
],
2:[
    {lqd: 44, date: "2017-08-14 13:30:00"},
    {lqd: 55, date: "2017-08-15 15:00:00"}
]
}

我想将该对象内部的数组重复3次。输出应如下所示

    SpecialObj={
0:[{lqd: 88, date: "2017-08-18 09:30:00"},
   {lqd: 77, date: "2017-08-19 14:00:00"}
],
1:[
    {lqd: 33, date: "2017-08-17 10:30:00"},
    {lqd: 11, date: "2017-08-16 12:00:00"}
],
2:[
    {lqd: 44, date: "2017-08-14 13:30:00"},
    {lqd: 55, date: "2017-08-15 15:00:00"}
],
3:[{lqd: 88, date: "2017-08-18 09:30:00"},
   {lqd: 77, date: "2017-08-19 14:00:00"}
],
4:[
    {lqd: 33, date: "2017-08-17 10:30:00"},
    {lqd: 11, date: "2017-08-16 12:00:00"}
],
5:[
    {lqd: 44, date: "2017-08-14 13:30:00"},
    {lqd: 55, date: "2017-08-15 15:00:00"}
],
6:[{lqd: 88, date: "2017-08-18 09:30:00"},
   {lqd: 77, date: "2017-08-19 14:00:00"}
],
7:[
    {lqd: 33, date: "2017-08-17 10:30:00"},
    {lqd: 11, date: "2017-08-16 12:00:00"}
],
8:[
    {lqd: 44, date: "2017-08-14 13:30:00"},
    {lqd: 55, date: "2017-08-15 15:00:00"}
]
}

我试着用下面的方法,但结果来自不同的对象3次,但我需要像上面一样的单个对象

function fillArray(value) {
  var arr1 = [];
  for (var i = 0; i < 3; i++) {
    arr1.push(value);
  }
  return arr1;
}

我能用javascript实现这一点的最简单方法吗?

正如其他人所指出的,您的对象没有太多意义,而且其中没有数组

我试着假设你的obj应该是什么样子

specialObj是一个具有编号键的对象,可以容纳多个objectsan阵列。数组中的每个对象都有lqd和date属性。 `

var specialObj={}; 对于var i=0;i<3;i++{ SpecialLobj[i]=[]; 对于变量x=0;x<2;x++{ var newObj={}; newObj.liquidity=5500 newObj.date=新日期; [i].pushnewObj; } }
console.logJSON.StringifySpecialLobj,null,2 如果将对象模式调整为属性值的对象数组,则可以使用object.keys获取当前的.length属性,使用for loop将其他属性设置为object.keysobject.length*3

常数o={ 0:[{lqd:1000,日期:2017-08-18 09:30:00}, {lqd:6500,日期:2017-08-18 14:00:00} ], 1:[ {lqd:1000,日期:2017-08-18 09:30:00}, {lqd:6500,日期:2017-08-18 14:00:00} ], 2:[ {lqd:1000,日期:2017-08-18 09:30:00}, {lqd:6500,日期:2017-08-18 14:00:00} ] }; 对于let len=Object.keyso.length,i=len;i控制台标志;上面不是数组。上面不是对象。0、1、2等是对象的属性。示例数据中没有任何数组。我建议您仔细阅读JavaScription中数组和对象之间的区别。它既不是数组,也不是有效对象。在发布问题之前,请测试您的代码是否存在明显的语法错误和拼写错误!问题的更新也是无效语法。内部数组现在很好,但是包含的对象需要每个数组的键,否则它需要是一个数组而不是一个对象。Hi@guest271314,在您的代码中,在第二个索引之后,它只会重复第二个索引数据6次。这是预料不到的。请将对象集更改为不同的值,这样您才能理解。@a可以在object.assigno,{[i]:JSON.parseJSON.stringifyo[i-1]处用o[i%3]替换o[i-1]谢谢@guest271314,它在更改后现在工作正常。你好@Andrew你的解决方案创建的额外数组不符合我的预期,如果你现在参考我的预期输出,你的输出可以理解差异。你的对象语法仍然不正确,我确实更新了我的答案,尽管你可能需要。你好@Andrew我不能使用你r代码如下所示……newObj.lqd=6500;newObj.date=new date;单独使用。请使用var newObj={0:[{流动性:5500,日期:2017-08-18 10:00:00},{流动性:57,日期:2017-08-18 10:30:00}],1:[{流动性:5500,日期:2017-08-18 10:00:00},{流动性:57,日期:2017-08-18 10:30:00}],2:[{流动性:5500,日期:2017-08-18 10:00:00},{流动性:57,日期:2017-08-18 10:30:00};如果可能的话,作为参考对象。你好@Andrew,我已经更新了我的对象。你现在能检查一下吗,实际上你正在考虑一组数据,我有多个,它应该以相同的顺序复制相同数据集的3倍。请参考输入和输出集。谢谢