数组元素复制

82 阅读1分钟

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;