【问题标题】:Get array data from an object从对象中获取数组数据
【发布时间】:2018-01-24 02:37:28
【问题描述】:
我在一个对象中有一个数组,如下所示:
[
{ "id": 244, "title": "myBook.pdf", "author": "Kevin"},
{ "id": 370, "title": "Bookpress.pdf", "author": "Justin"},
{ "id": 433, "title": "Uptown.pdf", "author": "David"},
]
如何获取所有标题数据的所有数据?所需资料为:
myBook.pdf、Bookpress.pdf、Uptown.pdf
【问题讨论】:
标签:
javascript
arrays
object
pdf
【解决方案1】:
如果你使用 lodash,你可以简单地这样做
var data = [
{ "id": 244, "title": "myBook.pdf", "author": "Kevin"},
{ "id": 370, "title": "Bookpress.pdf", "author": "Justin"},
{ "id": 433, "title": "Uptown.pdf", "author": "David"},
]
var result = _(data).map("title").value();
给你
result
(3) ["myBook.pdf", "Bookpress.pdf", "Uptown.pdf"]
但是由于这听起来像是一个作业问题,所以您应该尝试在没有库的情况下自己完成。
【解决方案2】:
只需使用Array#map函数。使用join(',')函数来应用逗号
var arr = [
{ "id": 244, "title": "myBook.pdf", "author": "Kevin"},
{ "id": 370, "title": "Bookpress.pdf", "author": "Justin"},
{ "id": 433, "title": "Uptown.pdf", "author": "David"},
]
console.log(arr.map(a=> a.title))
console.log(arr.map(a=> a.title).join(','))
【解决方案3】:
使用 for 循环遍历数组并使用 javascript 对象表示法获取所需的对象属性并将其附加到 html 或以您喜欢的任何方式使用。
var arr =[
{ "id": 244, "title": "myBook.pdf", "author": "Kevin"},
{ "id": 370, "title": "Bookpress.pdf", "author": "Justin"},
{ "id": 433, "title": "Uptown.pdf", "author": "David"},
]
for (var i =0;i < arr.length;i++){
var el = document.getElementById("demo");
el.innerHTML += arr[i].title
}
<div id="demo">
</div>