访问对象中数组的值

时间:2018-08-19 10:07:46

标签: javascript arrays object

这是我的对象:

5494

我想访问属性“ durations”的值。

action.durations [anyIndex]返回“未定义”。

那是我整个动作的创造者(redux):

const action = {
durations: ["29 minutes", "34 minutes", "2 heures 48 minutes"],
filteredCollabs: [{…}, {…}, {…}]
}

这是我的console.log在浏览器中返回的内容:

export const searchPeople = (clientAdress, skill, collaborators) => {
  const filteredCollabs = collaborators.filter(collab => collab.skills.includes(skill));

  let collab;
  let origin = "";
  let mode = "";
  let durations = [];
  for (let i = 0; i < filteredCollabs.length; i++) {
    collab = filteredCollabs[i];
    origin = `${filteredCollabs[i].latitude},${filteredCollabs[i].longitude}`;
    mode = `${filteredCollabs[i].mode}`;
    axios
  .get(`https://maps.googleapis.com/maps/api/distancematrix/json?origins=${origin}&destinations=${clientAdress}&region=FR&mode=${mode}&key=${config.gmap.key}`)
      .then(response => durations.push(response.data.rows[0].elements[0].duration.text))
      .catch(err => console.log(err));
  }
    console.log("durations dans actions : ", durations);


  return {
    type: "SEARCH_PEOPLE",
    durations,
    filteredCollabs,
  }

谢谢!

2 个答案:

答案 0 :(得分:1)

您错过了持续时间对象后的逗号

const action = {
    durations: ["29 minutes", "34 minutes", "2 heures 48 minutes"],
    filteredPeople: []
    }

获取索引结果

consol.log(action.durations[0])

答案 1 :(得分:0)

这是一个异步问题。 实际上,由于来自请求的响应不够快,因此当传递给我的reducer时,我的数组为空。 但是,在浏览器中,我可以看到最新更新的对象。 Chrome发出一个小信息图标,提醒我“下面的值刚刚被评估”。

谢谢大家的帮助!