这是我的示例数组的示例。我想实现这样的数组,
var myObj = {
PlannedStartDate: { value: '123', mandatory: 'yes' },
PlannedEndDate: { value: '456', mandatory: 'no' },
Days: { value: '123', mandatory: 'yes' }
};
OutPut-1 : -
我想用push()
方法或任何其他进程实现上面的数组。
所以,为此,我尝试了这样,
var post_outage_array = [];
post_outage_array.push({"PlannedStartDate" : '123'});
console.log(post_outage_array);
但它给了我以下结果,
我甚至试过post_outage_array['0']['PlannedStartDate'] = '123';
。
所以,我的目标是首先声明空白的二维数组并用键推送值,并希望实现像上面的图像一样的输出。 (输出1)
编辑: - 根据gurvinder372的建议。
var post_outage_array = {};
post_outage_array["PlannedStartDate"]["value"] = '123';
post_outage_array["PlannedStartDate"]["mandatory"] = 'yes';
当我试图以这种方式做到这一点。我收到了以下错误。
index.php:15 Uncaught TypeError: Cannot set property 'value' of undefined
答案 0 :(得分:1)
看来你不是在数组之后,而是想要动态地将属性添加到对象中(可能在循环中?)。
这就是你要追求的吗?
// method 1
var post_outage = {};
post_outage["PlannedStartDate"] = {};
post_outage["PlannedStartDate"]["value"] = '123';
post_outage["PlannedStartDate"]["mandatory"] = 'yes';
console.log(post_outage);
// method 2
var post_outage = {};
post_outage["PlannedStartDate"] = {
value: "123",
mandatory: "yes"
};
console.log(post_outage);
答案 1 :(得分:1)
你不期望一个数组,而是期待一个由数组组成的对象。
实现这一点,定义了三个数组变量,如:
var Days = [] ;
var plannedEndDate = [] ;
var plannedStartDate = [] ;
然后使用push
方法将值推送到每个值,然后:
var finalObject = {} ;
finalObject = {
Days : JSON.parse(JSON.stringify(Days )) ,
plannedEndDate : JSON.parse(JSON.stringify(plannedEndDate )) ,
plannedStartDate : JSON.parse(JSON.stringify(plannedStartDate)) } ;