Как получить значение объекта в массиве? - PullRequest
0 голосов
/ 14 мая 2019

Я хочу получить значение всех цен.

{
  id: "2019-03",
  "-Lc4HDzvL3DTd4aKsdis": {price: 1234, info: "salary", date: "01"}, 
  "-Lc9N5m0N_CJMlD7pa4m": {price: -1212, info: "food", date: "12"}, 
  "-LekFVB-I2jlSb-YHNll": {price: 300000, info: "Actual Expenditure", date: "13"}
}

Ответы [ 5 ]

3 голосов
/ 14 мая 2019

Для этого можно использовать цикл for..in.

let obj = {id: "2019-03",
-Lc4HDzvL3DTd4aKsdis: {price: 1234, info: "salary", date: "01"}, 
-Lc9N5m0N_CJMlD7pa4m: {price: -1212, info: "food", date: "12"}, 
-LekFVB-I2jlSb-YHNll: {price: 300000, info: "Actual Expenditure", date: "13"}};

for(let key in obj) { 
  if (obj[key].price) { 
     // do whatever you want with the price here
     console.log(obj[key].price); 
  } 
}
3 голосов
/ 14 мая 2019

попробуй

Object.keys(d).filter(x=>x!='id').map(x=>d[x].price);

let d= {id: "2019-03",
"-Lc4HDzvL3DTd4aKsdis": {price: 1234, info: "salary", date: "01"}, 
"-Lc9N5m0N_CJMlD7pa4m": {price: -1212, info: "food", date: "12"}, 
"-LekFVB-I2jlSb-YHNll": {price: 300000, info: "Actual Expenditure", date: "13"}}

let r = Object.keys(d).filter(x=>x!='id').map(x=>d[x].price);

console.log(r);
2 голосов
/ 14 мая 2019

Используйте Object.values(), чтобы получить значения и получить цену, используя . запись

var a = {
  id: "2019-03",
  -Lc4HDzvL3DTd4aKsdis: {
    price: 1234,
    info: "salary",
    date: "01"
  },
  -Lc9N5m0N_CJMlD7pa4m: {
    price: -1212,
    info: "food",
    date: "12"
  },
  -LekFVB - I2jlSb - YHNll: {
    price: 300000,
    info: "Actual Expenditure",
    date: "13"
  }
}
Object.values(a).forEach(e => {typeof(e)=='object'?console.log(e.price):false})
1 голос
/ 14 мая 2019

Попробуйте это решение:

let obj = {
      id: "2019-03",
      -Lc4HDzvL3DTd4aKsdis: {
        price: 1234,
        info: "salary",
        date: "01"
      },
      -Lc9N5m0N_CJMlD7pa4m: {
        price: -1212,
        info: "food",
        date: "12"
      },
      -LekFVB - I2jlSb - YHNll: {
        price: 300000,
        info: "Actual Expenditure",
        date: "13"
      }
    }

    Object.keys(obj).filter(value=>value!='id').map(value=>obj[value].price);
0 голосов
/ 14 мая 2019

Приведенный ниже код будет отфильтровывать цену в результате массив

let obj = {
    id: "2019-03",
    "-Lc4HDzvL3DTd4aKsdis": {price: 1234, info: "salary", date: "01"}, 
    "-Lc9N5m0N_CJMlD7pa4m": {price: -1212, info: "food", date: "12"}, 
    "-LekFVB-I2jlSb-YHNll": {price: 300000, info: "Actual Expenditure", date: "13"}
};

let result = Object.keys(obj).map((item)=>{
    if(obj[item] && obj[item]['price']){
        return obj[item]['price'];  
    }
}).filter(item=>item);

console.log(result);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...