2017-05-22 103 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"} 
] 
相關問題