【问题标题】:Javascript local storage. Get only first 3 elements?Javascript 本地存储。只获取前 3 个元素?
【发布时间】:2019-01-28 12:37:15
【问题描述】:

从本地存储中获取和返回要显示的元素很简单:

let element = JSON.parse(localStorage.getItem('element'));
return element.elements

假设元素是键,元素是键中的一堆元素。

但是,我怎样才能只获得前 3 个元素?

我目前有这个(但我认为会有更好的方法):

let firstelement = element.elements[0];
let secondelement = element.elements[1];
let thirdelement = element.elements[2];

我不知道之后该怎么办。

【问题讨论】:

  • 看起来像一个数组,所以slice?

标签: javascript local-storage


【解决方案1】:

根据MDN

slice() 方法将数组的一部分的浅拷贝返回到从开始到结束(不包括结束)选择的新数组对象中。原数组不会被修改。

所以试试这个:

let element = JSON.parse(localStorage.getItem('element'));
var selection = element.elements.slice(0, 3);

感谢CertainPerformance 建议在comment 中使用slice

【讨论】:

  • 谢谢,这只是元素 2 和 3 对吧?所以你的例子是 2 个元素?
  • 正确的@user2719875,非常棒!我更新了答案以使用正确的索引。
【解决方案2】:

JS 具有slice() 方法,该方法将数组的一部分按位复制到从beginend 选择的新数组对象中,end 将不包括在内。

注意:原数组不会被修改。

let txtElement = '{"id":"0001","type":"donut","name":"Cake","elements":[{"id":"5001","type":"None"},{"id":"5002","type":"Glazed"},{"id":"5005","type":"Sugar"},{"id":"5007","type":"Powdered Sugar"},{"id":"5006", "type":"Chocolate with Sprinkles"},{"id":"5003","type":"Chocolate"},{"id":"5004","type":"Maple"}]}';

let localStorage = {
  name: 'Local',
  getItem: function() {
    return txtElement;
  }
};

let element = JSON.parse(localStorage.getItem('element'));
let topElements = element.elements.slice(0, 3);
console.log({topElements});

【讨论】:

    猜你喜欢
    • 2019-07-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-14
    • 2022-07-01
    • 2020-07-31
    • 2018-10-12
    • 1970-01-01
    相关资源
    最近更新 更多