var A = [
{
test1:"value1",
test2:"value2",
test3:[
{
test1:"value3",
test2:"value4",
test3:1
}, {
test1:"value5",
test2:"value6",
test3:0
}
]
}, {
test1:"value7",
test2:"value8",
test3:1,
test4:{
wc: "wc"
}
}, {
wc : "wc"
}
]
var B = [
{
test1:"value10",
test2:"value20",
test3:[
{
test1:"value30",
test2:"value40",
test3:10
}
]
}, {
test1:"value70",
test2:"value80",
test3:10
}
]function BtoA(a, b) {
var t;
for (var i in a) {
t = typeof b[i];
if (t == "undefined") {
b[i] = a[i];
} else if (t == "object" || t == "array") {
BtoA(a[i], b[i]);
}
}
}
BtoA(A, B);
document.write(B.toJSONString());
</script>
{
test1:"value1",
test2:"value2",
test3:[
{
test1:"value3",
test2:"value4",
test3:1
}, {
test1:"value5",
test2:"value6",
test3:0
}
]
}, {
test1:"value7",
test2:"value8",
test3:1,
test4:{
wc: "wc"
}
}, {
wc : "wc"
}
]
var B = [
{
test1:"value10",
test2:"value20",
test3:[
{
test1:"value30",
test2:"value40",
test3:10
}
]
}, {
test1:"value70",
test2:"value80",
test3:10
}
]function BtoA(a, b) {
var t;
for (var i in a) {
t = typeof b[i];
if (t == "undefined") {
b[i] = a[i];
} else if (t == "object" || t == "array") {
BtoA(a[i], b[i]);
}
}
}
BtoA(A, B);
document.write(B.toJSONString());
</script>
那么你的意思就是说...
如果B比A多了就把多的那个喀嚓掉是吧?
var t;
for (var i in a) {
t = typeof b[i];
if (t == "undefined") {
b[i] = a[i];
} else if (t == "object" || t == "array") {
BtoA(a[i], b[i]);
}
}
}
function delB(a, b) {
var t;
for (var i in b) {
t = typeof a[i];
if (t == "undefined") {
delete b[i];
} else if (t == "object" || t == "array") {
delB(a[i], b[i]);
}
}
}
delB(A, B);
BtoA(A, B);
加个删除的动作就可以啦...
写到一起的话...估计好麻烦..
不过现在MSN网络很不稳定的说.....我都郁闷了...
加了你了..
[email protected]