$=jQuery.noConflict();
$( document ).ready(function() {
//returns an array of image links
// ["http://velnikolic.com/gallery/wp-content/uploads/2017/04/file4741298583098-1-150x150.jpg", "http://velnikolic.com/gallery/wp-content/uploads/2017/04/file9221293737060-150x150.jpg", "http://velnikolic.com/gallery/wp-content/uploads/2017/04/file4741298583098-150x150.jpg"]
var images = <?php echo json_encode($images); ?>;
console.log(images);
src = [];
data = {}
for (var i = 0; i < images.length; i++) {
data = {
src: images[i]
};
src.push(data);
console.log(data);
//Data should equal [{src : imageurlxxx}, {src :imgurlxxdd}, {src :imgurlxxdd} ]}
}
});//close
上面的代码应该循环遍历图像数组并将其推入一个以src
as 为键的对象,然后将该对象推入一个数组并重复。问题是对象在数组中被覆盖,因为它们都具有相同的键。
您的代码完全符合您的要求,但您检查了错误的变量:
var images = ["A", "B", "C"]
console.log(images);
src = [];
data = {}
for (var i = 0; i < images.length; i++) {
data = {
src: images[i]
};
// Here data is an object with 1 key only.
src.push(data);
}
// Here - after the loop - the src variable will contain all of the values that you want.
console.log(src);
如果你正在寻找 ES6 解决方案,你可以使用这个:
var images = ["A", "B", "C"];
var src = images.map((img) => { return {src: img} });
console.log(src);
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句