后台给的数据格式不肯定,多是数组也多是对象,须要前端本身作处理,最后解决办法以下:$.each()javascript
栗子代码
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <script src="https://cdn.bootcss.com/jquery/3.3.1/jquery.js"></script> </head> <body> <script type="text/javascript"> var arr = ['av1.jpg', 'av2.jpg', 'av3.jpg'] , obj = {pic1: 'av1.jpg', pic2: 'av2.jpg', pic3: 'av3.jpg'} $.each(arr, function (i, t) { console.log(i, t) }) $.each(obj, function (i, t) { console.log(i, t) }) </script> </body> </html>
解决问题的时候,也想了其余集中办法,好比Array.prototype.map.call(arr, fn)、for(var val of)、for(var key in)、Array.from(arr, fn)css
Es5的for in能够遍历数组和对象的索引,arr[key], obj[key]可以取到每项的值,适合
Es6的for of能够遍历数组类数组对象的值,不适合
Es6的Array.from能够遍历类数组对象的值,不适合html