【问题标题】:Seperate Objects in local storage Javascript在本地存储Javascript中分离对象
【发布时间】:2018-02-16 02:07:33
【问题描述】:

我目前在本地存储中有一个看起来像这样的项目

"cars":[
{
"Id":7,
"Name":"Audi",
},
{
"Id":8,
"Name":"Ford",
}

我只想检索所有 Id 并将它们存储在一个字符串中。 目前我正在提取这样的数据:

var cars = "";
cars= localStorage.getItem('cars');
var carArr= new Array();
carArr.push(cars);

我怎样才能获得身份证

【问题讨论】:

标签: javascript jquery arrays google-chrome local-storage


【解决方案1】:

如果我正确理解您的问题,您必须使用Array.map 结合JSON.parseJSON.stringify 转换您的数组以从存储中读取/写入。

这是一个使用“模拟”localStorage 的示例:

// use a mock storage because snippet doesn't allow localStorage usage.
var mockStorage = {};

// setup initial storage
try {
  mockStorage.cars = JSON.stringify([
    {
      Id:7,
      Name:"Audi",
    },
    {
      Id:8,
      Name:"Ford",
    }
  ]);
} catch(e) {}
console.log('inital local storage:\n', mockStorage);


// example

var cars = [];

// parse JSON string value from storage to javascript object.
try {
  cars = JSON.parse(mockStorage.cars)
} catch(e) {}
console.log('cars:\n', cars);
// transform array of cars to array of car ids
var ids = cars.map(car => car.Id)
console.log('car ids:\n', ids);
// transform array to JSON string
try {
  mockStorage.cars = JSON.stringify(ids);
} catch(e) {}
console.log('local storage:\n', mockStorage);

【讨论】:

    【解决方案2】:

    使用这个,

    //you get this from localStorage after you parse it
    //JSON.parse(localStorage.cars);
    var cars = [
    {
    "Id":7,
    "Name":"Audi",
    },
    {
    "Id":8,
    "Name":"Ford",
    }];
    var res = [];
    cars.forEach(function(val){
      res.push(val.Id);
    });
    
    console.log(res);

    【讨论】:

      【解决方案3】:

      localStorage 仅支持strings。因此,您必须使用JSON.parse 从字符串中获取汽车数组,然后使用array#map 获取所有ID。

      var carsString = localStorage.getItem('cars');
      var cars = JSON.parse(carsString);
      
      var ids = cars.map( car => car.Id);
      console.log(ids);
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-03-24
        • 2011-08-21
        • 2021-07-18
        • 1970-01-01
        • 1970-01-01
        • 2018-05-31
        相关资源
        最近更新 更多