title: 数组元素复制 date: 2014-12-05 20:32:41 tags: 数组 category: javascript
背景:后台传过来的是
banner=[
{'pic':'11111','link':'link11111'},
{'pic':'22222','link':'link22222'},
{'pic':'33333','link':'link33333'}
]
插件需要传一个数组过去,类型是
banner=[
{'src':'11111','link':'link11111'},
{'src':'22222','link':'link22222'},
{'src':'33333','link':'link33333'}
]
很显然,字段不一样,然后,我这样写
var banner = [{
'pic': '11111',
'link': 'link11111'
}, {
'pic': '22222',
'link': 'link22222'
}, {
'pic': '33333',
'link': 'link33333'
}
]
var banner2 = []
for (var i = 0; i < banner.length; i++) {
banner2[i].src = banner[i].pic;
}
for (var i = 0; i < banner2.length; i++) {
console.log(banner2[i].src)
}
打印不出来,我就想的是数组复制,总感觉差点什么。原因是 banner2[i]不是一个对象,加上这句就行了
banner2[i]={};
这个先说到这,另一种方法,直接在那个数组上复制一个元素
var banner = [{
'pic': '11111',
'link': 'link11111'
}, {
'pic': '22222',
'link': 'link22222'
}, {
'pic': '33333',
'link': 'link33333'
}
]
for (var i = 0; i < banner.length; i++) {
banner[i].src = banner[i].pic;
}
如果你是个有强迫症的人,你可以把多余的元素删了
delete banner[i].pic;