如何解决检查键索引是否存在于关联数组Angularjs javascript中
如何从下面的json数据中检查“ no_2” 的键“ type_1” 是否存在(如果不存在)将{"p_id": "24","subcat_id": "2","name": "ok"}
推到“ no_2” 个数组对象的strong>“类型_1” 。
键索引和数组推送在这里如何工作
{
"no_1": {
"orderNumber": "no_1","billing_order_id": "1","orderArray": {
"type 2": [
{
"p_id": "25","name": "fine"
},{
"p_id": "34","name": "not ok"
}
]
}
},"no_2": {
"orderNumber": "no_2","orderArray": {
"type_1": [
{
"p_id": "6","subcat_id": "1","name": "hello"
}
]
}
}
}
解决方法
我认为这就是您想要做的。
(大多数JavaScript代码的结构不是完全这样,但为清晰起见,示例代码非常冗长。)
const
myObj = getObj(),keyToCheck = "no_3",myArr = [],myKeys = Object.keys(myObj),// `.keys` is as static method of Object
keyToPush = myKeys[0],// gets first key in list
valueToPush = myObj[keyToPush],// gets value from this key in obj
fullObjToPush = {}; // makes a new empty object
fullObjToPush[keyToPush] = valueToPush; // Makes a new property in obj w/ key and val
// pushes object to array if `keyToCheck` is not found
if(myKeys.includes(keyToCheck)){ /* do nothing */ }
else{ myArr.push(fullObjToPush); }
// prints result
console.log("myArr now contains this object:");
console.log(myArr);
// provides original object
function getObj(){
return {
"no_1": { "orderNumber": "no_1","billing_order_id": "1" },"no_2": { "orderNumber": "no_2","billing_order_id": "1" }
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。