使用 JAVASCRIPT 将名称值对添加到 JSON 中的数组对象
Adding a name value pair to an array object in JSON using JAVASCRIPT
我想实现这个:
"Check the key name default is available or not, if available then add one more key in same object. => ("pin" : 91) " 在下面给出的 json 上。我试过下面的代码。
var myObj = {
"data": [{
"code": "EN",
"language": "English",
"content_available": true,
"isdefault": true
}, {
"code": "AR",
"language": "Arabic",
"content_available": true,
"isdefault": false,
"default" : true
}, {
"code": "BR",
"language": "Brazilian Portuguese",
"content_available": true,
"isdefault": false
}, {
"code": "CN",
"language": "Simplified Chinese",
"content_available": true,
"isdefault": false,
"default" : true
}, {
"code": "TW",
"language": "Traditional Chinese",
"content_available": true,
"isdefault": false
}, {
"code": "DE",
"language": "German",
"content_available": true,
"isdefault": false
}, {
"code": "ES",
"language": "Spanish",
"content_available": true,
"isdefault": false
}, {
"code": "FR",
"language": "French",
"content_available": true,
"isdefault": false
}, {
"code": "JP",
"language": "Japanese",
"content_available": true,
"isdefault": false,
"default" : true
}, {
"code": "RU",
"language": "Russian",
"content_available": false,
"isdefault": false
}],
"success": true
}
function addKey(k) {
for (var key in myObj.data) {
if (myObj["data"][key] === k) {
myObj["data"][key]["pin"] = "91";
}
}
}
addKey("default");
console.log(myObj);
function checkForKey(obj, key) {
for (var i = 0; i < obj.data.length; i++) {
if (obj.hasOwnProperty(obj.data[i]) && obj.data[i][key] !== undefined) {
obj.data[i].pin = 91;
}
}
}
checkForKey(myObj, 'default');
首先,我们得到数据密钥。因为它是一个数组,所以我们对其进行迭代。然后,我们检查默认键是否有定义的值,只有当它被定义为任何值时才添加键针。
您需要做的就是遍历键名,如果不存在,则创建它。但是,请记住您的类型。 for/in
用于迭代对象,而不是数组,forEach()
是数组的首选。
var myObj = {
"data": [{
"code": "EN",
"language": "English",
"content_available": true,
"isdefault": true
}, {
"code": "AR",
"language": "Arabic",
"content_available": true,
"isdefault": false,
"default" : true
}, {
"code": "BR",
"language": "Brazilian Portuguese",
"content_available": true,
"isdefault": false
}, {
"code": "CN",
"language": "Simplified Chinese",
"content_available": true,
"isdefault": false,
"default" : true
}, {
"code": "TW",
"language": "Traditional Chinese",
"content_available": true,
"isdefault": false
}, {
"code": "DE",
"language": "German",
"content_available": true,
"isdefault": false
}, {
"code": "ES",
"language": "Spanish",
"content_available": true,
"isdefault": false
}, {
"code": "FR",
"language": "French",
"content_available": true,
"isdefault": false
}, {
"code": "JP",
"language": "Japanese",
"content_available": true,
"isdefault": false,
"default" : true
}, {
"code": "RU",
"language": "Russian",
"content_available": false,
"isdefault": false
}],
"success": true
}
function addKey(k) {
// myObj.data is an array. for/in loops should not be used on arrays
// But forEach() is preferred on arrays
myObj.data.forEach(function(obj){
// Each array element is an object. We need to loop that object.
// for/in loops are for objects
for(var prop in obj){
// Is the current property (key) name the same as the provided argument ("default")
if(prop === k){
// Add new key/value to the object
obj["pin"] = "91";
}
}
});
}
addKey("default");
console.log(myObj);
我想实现这个: "Check the key name default is available or not, if available then add one more key in same object. => ("pin" : 91) " 在下面给出的 json 上。我试过下面的代码。
var myObj = {
"data": [{
"code": "EN",
"language": "English",
"content_available": true,
"isdefault": true
}, {
"code": "AR",
"language": "Arabic",
"content_available": true,
"isdefault": false,
"default" : true
}, {
"code": "BR",
"language": "Brazilian Portuguese",
"content_available": true,
"isdefault": false
}, {
"code": "CN",
"language": "Simplified Chinese",
"content_available": true,
"isdefault": false,
"default" : true
}, {
"code": "TW",
"language": "Traditional Chinese",
"content_available": true,
"isdefault": false
}, {
"code": "DE",
"language": "German",
"content_available": true,
"isdefault": false
}, {
"code": "ES",
"language": "Spanish",
"content_available": true,
"isdefault": false
}, {
"code": "FR",
"language": "French",
"content_available": true,
"isdefault": false
}, {
"code": "JP",
"language": "Japanese",
"content_available": true,
"isdefault": false,
"default" : true
}, {
"code": "RU",
"language": "Russian",
"content_available": false,
"isdefault": false
}],
"success": true
}
function addKey(k) {
for (var key in myObj.data) {
if (myObj["data"][key] === k) {
myObj["data"][key]["pin"] = "91";
}
}
}
addKey("default");
console.log(myObj);
function checkForKey(obj, key) {
for (var i = 0; i < obj.data.length; i++) {
if (obj.hasOwnProperty(obj.data[i]) && obj.data[i][key] !== undefined) {
obj.data[i].pin = 91;
}
}
}
checkForKey(myObj, 'default');
首先,我们得到数据密钥。因为它是一个数组,所以我们对其进行迭代。然后,我们检查默认键是否有定义的值,只有当它被定义为任何值时才添加键针。
您需要做的就是遍历键名,如果不存在,则创建它。但是,请记住您的类型。 for/in
用于迭代对象,而不是数组,forEach()
是数组的首选。
var myObj = {
"data": [{
"code": "EN",
"language": "English",
"content_available": true,
"isdefault": true
}, {
"code": "AR",
"language": "Arabic",
"content_available": true,
"isdefault": false,
"default" : true
}, {
"code": "BR",
"language": "Brazilian Portuguese",
"content_available": true,
"isdefault": false
}, {
"code": "CN",
"language": "Simplified Chinese",
"content_available": true,
"isdefault": false,
"default" : true
}, {
"code": "TW",
"language": "Traditional Chinese",
"content_available": true,
"isdefault": false
}, {
"code": "DE",
"language": "German",
"content_available": true,
"isdefault": false
}, {
"code": "ES",
"language": "Spanish",
"content_available": true,
"isdefault": false
}, {
"code": "FR",
"language": "French",
"content_available": true,
"isdefault": false
}, {
"code": "JP",
"language": "Japanese",
"content_available": true,
"isdefault": false,
"default" : true
}, {
"code": "RU",
"language": "Russian",
"content_available": false,
"isdefault": false
}],
"success": true
}
function addKey(k) {
// myObj.data is an array. for/in loops should not be used on arrays
// But forEach() is preferred on arrays
myObj.data.forEach(function(obj){
// Each array element is an object. We need to loop that object.
// for/in loops are for objects
for(var prop in obj){
// Is the current property (key) name the same as the provided argument ("default")
if(prop === k){
// Add new key/value to the object
obj["pin"] = "91";
}
}
});
}
addKey("default");
console.log(myObj);