我正在尝试使用以下方法从对象数组中获取最后一个对象
const rowLen = previous_data.High.length;
var temp = previous_data.High.map((object,i) => {
if (rowLen === i + 1) {
return object;
}
});
然后我要在下一个对象中填充值,所以我做的像
temp [0] .keyname。
现在,在获得温度的同时,它会返回对象数组,因此第二次获得
[ 0: undefined, 1: {key:value}]
所以,我不明白为什么要返回数组以及我只想要最后一个对象的那个。
答案 0 :(得分:3)
Map为数组的每次迭代返回一个值。如果您从map中的回调函数返回一个值,则该值将在相应的索引处返回,否则将返回未定义状态
由于只需要数组中的最后一个值,因此可以简单地使用slice
var temp = previous_data.High.slice(-1);
答案 1 :(得分:1)
因为当您要更改原始数组而不选择元素时,map返回一个使用map的数组。像这样做。 previous_data.High [previous_data.High.length -1]。 这将为您提供最后一个元素。
答案 2 :(得分:0)
Destructuring assignment 使您可以分配变量,交换属性,忽略属性,分配默认值,访问所需的任意多个属性。
let arrObj = [{
key0: "value0",
key1: "value1",
key2: "value2",
key3: "value3"
},
[1, 2, 3],
{
key4: "value4"
}];
let [{key0:K0,key1:K1,key2:K2,key3:K3},[a, b, c],{key4:last}] = arrObj;
console.log(last);
console.log(c);
console.log(K1);