小编Ste*_*ack的帖子

修改jQuery扩展以推送对象中的数组项,但扩展其他对象

我认为这一定是一个常见的问题,但似乎无法找到解决方案.使用JSON配置文件来扩展包含对象和数组的jQuery对象.

对于对象和简单属性,我想覆盖(extend很好).

对于阵列,可能存在也可能不存在现有项目.

目前,数组只会覆盖第一个元素

var sourceObj = {propterty:"change Me",anArray:[{name:"first"},{name:"second"}]},
    configJSON = '{"propterty":"New Val","anArray":[{"name":"third"}]}',
    configObj = JSON.parse(configJSON);

$.extend(true,sourceObj,configObj);
Run Code Online (Sandbox Code Playgroud)

http://jsfiddle.net/PmuwV/

返回:

{propterty:"New Val" , anArray:[{name:"third"},{name:"second"}}
Run Code Online (Sandbox Code Playgroud)

我可以改为:

{propterty:"New Val",anArray:[{name:"first"},{name:"second"},{name:"third"}]}
Run Code Online (Sandbox Code Playgroud)

而且还允许更新"第一"和"第二"对象?

"anArray":[{"name":"second","newProp":"add newProp to second"}]
Run Code Online (Sandbox Code Playgroud)

可以/应该extend修改以比较数组项并根据某些规则扩展或添加或设置属性值,如"名称"?

感谢您的任何建议或指示.

javascript jquery extend

7
推荐指数
1
解决办法
6741
查看次数

标签 统计

extend ×1

javascript ×1

jquery ×1