2017-05-22 102 views
0
$=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推入一个对象作为键,那么它应该推此对象到一个数组并重申。问题是数组中的对象被覆盖,因为它们都具有相同的密钥。推对象的列表到一个数组使用jQuery(或JavaScript)

+0

其实 - 数据应该只等于一个键的对象,并而不是你要找的东西。 'src'变量应该有你正在寻找的东西,它会在'for'循环之后。 – Dekel

+0

'var src = $ .map(images,x => {src:x})' – adeneo

回答

4

您的代码不正是你所寻找的,但你检查错误的变量:

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);

+1

@TxRegex图像已经是javascript对象,而不是字符串 – Dekel

0
//Data should equal [{src : imageurlxxx}, {src :imgurlxxdd}, {src :imgurlxxdd} ]} 
data = $.map(images, (image) => { src: image }) 

如果我正在阅读你想要的东西,你只需要将你的图片网址映射到你想要的数组中。

+0

这里没有必要为jquery映射,可以使用Array .map函数(你可以在我的答案中查看例子) – Dekel

1
function getImages() { 
    var images = <?php echo json_encode($images); ?>; 
    return images.map(function (image) { 
     return { src: image }; 
    } 
}; 

假设你正在使用这个在PHP网站和$图像设置,getImages()返回是这样的:

[ 
    {src: "http://velnikolic.com/gallery/wp-content/uploads/2017/04/file4741298583098-150x150.jpg"}, 
    {src: "http://velnikolic.com/gallery/wp-content/uploads/2017/04/file9221293737060-150x150.jpg"}, 
    {src: "http://velnikolic.com/gallery/wp-content/uploads/2017/04/file4741298583098-150x150.jpg"} 
] 
相关问题