我有这个数组
{
"data": [
{
"lat": 31.135859,
"lng": 46.823952,
"hd": 319
},
{
"lat": 31.050476,
"lng": 46.907204,
"hd": 320
},
{
"lat": 30.999023,
"lng": 46.957184,
"hd": 320
},
{
"lat": 30.955353,
"lng": 46.999352,
"hd": 320
}
]
}
虽然我尝试使用pop()
仅从上面的数组中获取最后一个项目,但出现这样的错误:
this.heading.pop不是函数
heading: [] = [];
for (let datas of getdata['data']) {
this.heading = datas.hd;
console.log("heading"+this.heading.pop());
}
this.heading.pop();
答案 0 :(得分:2)
您在上 loop
使用错误。您可以通过更简单的方式执行此操作:
let obj = { "data": [ { "lat": 31.135859, "lng": 46.823952, "hd": 319 }, { "lat": 31.050476, "lng": 46.907204, "hd": 320 }, { "lat": 30.999023, "lng": 46.957184, "hd": 320 }, { "lat": 30.955353, "lng": 46.999352, "hd": 320 } ] }
console.log(obj.data.pop().hd);
答案 1 :(得分:1)
const item = array.data[array.data.length - 1].hd;
答案 2 :(得分:1)
也许您可以尝试以下一种方法:
let obj = { "data": [ { "lat": 31.135859, "lng": 46.823952, "hd": 319 }, { "lat": 31.050476, "lng": 46.907204, "hd": 320 }, { "lat": 30.999023, "lng": 46.957184, "hd": 320 }, { "lat": 30.955353, "lng": 46.999352, "hd": 320 } ] }
console.log(obj.data.reduceRight(value => value).hd) // 320
我希望它能为您提供帮助。
答案 3 :(得分:1)
我认为您要尝试将“ hd”标头推到另一个数组并获取最后一个标头。您可以像下面这样
var obj = {
"data": [
{
"lat": 31.135859,
"lng": 46.823952,
"hd": 319
},
{
"lat": 31.050476,
"lng": 46.907204,
"hd": 320
},
{
"lat": 30.999023,
"lng": 46.957184,
"hd": 320
},
{
"lat": 30.955353,
"lng": 46.999352,
"hd": 320
}
]
}
var heading = []
function getLast() {
for (let datas of obj.data) {
heading.push(datas.hd);
}
return heading.pop();
}
console.log(getLast());
有更有效的方法可以做到这一点。这些答案已经给出。