[英]How to add new array in existing object in NodeJS
I need a help to add new attribute in the existing object. In my original object if product-metadata
attribute exist - then I'm adding new two additional properties prodLocation
and prodTime
in the existing product-metadata
attribute.我需要帮助在现有的 object 中添加新属性。在我原来的 object 中,如果存在
product-metadata
属性 - 那么我将在现有的product-metadata
属性中添加新的两个附加属性prodLocation
和prodTime
。
If my original object doesn't contain product-metadata
attribute - then I've to add product-metadata
attribute with these two properties prodLocation
and prodTime
.如果我原来的 object 不包含
product-metadata
属性 - 那么我必须添加具有这两个属性prodLocation
和prodTime
product-metadata
属性。
I was able to add new two properties if existing object contain product-metadata
attribute but I'm having an issue when original object come without product-metadata
attribute.如果现有 object 包含
product-metadata
属性,我可以添加新的两个属性,但当原始 object 没有product-metadata
属性时,我遇到了问题。
Can someone please help how can I add new attribute in the existing object?有人可以帮助我如何在现有的 object 中添加新属性吗? Appreciated your help in advance.
提前感谢您的帮助。 Thanks!
谢谢!
Please find my code below:请在下面找到我的代码:
function updateProduct(obj) {
const prodLocation = {
key: 'location',
value: 'US'
};
const prodTime = {
key: 'time',
value: '2019-01-01T00:00:00.000Z'
};
if (obj.hasOwnProperty('product-metadata')) {
const prodtMetadata = existObj['product-metadata'];
prodtMetadata.push(prodLocation);
prodtMetadata.push(prodTime);
obj['product-metadata'] = prodtMetadata;
console.log(obj);
} else {
console.log("no metadata");
var metaObj = {
'product-metadata':
[prodLocation, prodTime]
}
var newArr = [obj];
newArr.push(metaObj);
const finalJson = JSON.stringify(newArr);
console.log(finalJson);
}
}
var objWithMetadata = {
"prodVersion": "0.3",
"prodName": "test-product",
"prodType": "electronics",
"id": "7b966d7e-9671-45a7-9ed3-9877f26793f9",
"product-info": {
"price": "2323.4"
},
"productDesc": "test description",
"product-metadata": [
{
"key": "key-1",
"value": "value-1"
}
]
};
var objWithoutMetadata = {
"prodVersion": "0.3",
"prodName": "test-product",
"prodType": "electronics",
"id": "7b966d7e-9671-45a7-9ed3-9877f26793f9",
"product-info": {
"price": "2323.4"
},
"productDesc": "test description"
};
updateProduct(objWithoutMetadata);
Expected Output:预计 Output:
{
"prodVersion": "0.3",
"prodName": "test-product",
"prodType": "electronics",
"id": "7b966d7e-9671-45a7-9ed3-9877f26793f9",
"product-info": {
"price": "2323.4"
},
"productDesc": "test description",
"product-metadata": [
{
"key": "location",
"value": "US"
},
{
"key": "time",
"value": "2019-01-01T00:00:00.000Z"
}
]
}
This will add your needed property to your current object when not found:找不到时,这会将您需要的属性添加到当前的 object 中:
obj["product-metadata"] = [prodLocation, prodTime];
const finalJson = JSON.stringify(obj);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.