【发布时间】:2017-06-24 18:03:17
【问题描述】:
我想实现这个: “检查键名默认值是否可用,如果可用,则在同一对象中再添加一个键。=>(“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);
【问题讨论】:
-
myObj["data"]是一个数组,myObj["data"][key]是一个对象。它永远不能等于字符串"default"。请改用if (myObj["data"][key].hasOwnProperty(k))。 -
为什么不将此作为答案而不是评论发布?
-
@Xufox 这给了我一个语法错误!! :( 说意外的数字。
-
@SylieC 不,不是。我的代码和你的代码都没有在任何地方包含数字文字。
标签: javascript json crud