如何在javascript

时间:2017-10-11 13:57:45

标签: 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"},
    {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做最简单的方法吗?

2 个答案:

答案 0 :(得分:0)

正如其他人所指出的那样,你的对象并没有太多意义,并且其中的任何地方都没有数组。

我认真考虑你的obj可能是什么样子。

specialObj是一个带有编号键的对象,可以容纳多个对象(一个数组)。数组中的每个对象都具有属性lqddate。 `

&#13;
&#13;
var specialObj = {};

for (var i = 0; i < 3; i++) {
  specialObj[i] = [];
  for (var x = 0; x < 2; x++) {
    var newObj = {};
    newObj.liquidity = 5500
    newObj.date = new Date();
    specialObj[i].push(newObj);
  }
}
console.log(JSON.stringify(specialObj, null, 2));
&#13;
&#13;
&#13;

答案 1 :(得分:0)

如果将对象模式调整为属性值的对象数组,则可以使用Object.keys()获取当前.length个属性,for循环以将其他属性设置为{{ 1}}

Object.keys(object).length * 3