获取最后一个Item,它是一个对象数组中的对象

问题描述 投票:2回答:3

我试图使用以下方式从对象数组中获取最后一个对象,

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}]

所以,我不明白为什么它返回数组以及前一个我只想要最后一个对象。

javascript arrays
3个回答
3
投票

Map为数组的每次迭代返回一个值。如果从map中的回调函数返回一个值,那么该值将在相应的索引处返回,否则将返回undefined,这是您可以看到的

由于您只需要数组中的最后一个值,因此您只需使用slice即可

var temp = previous_data.High.slice(-1);

1
投票

因为map要返回一个数组,所以当您想要更改原始数组而不选择元素时,可以使用map。像这样做。 previous_data.High [previous_data.High.length -1]。这将为您提供最后一个元素。


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);
© www.soinside.com 2019 - 2024. All rights reserved.