首页 > 解决方案 > 摆脱对象数组中的“未定义”

问题描述

我有这个函数接收参数作为参数:

export const addCalculations = (params) => {
  console.log(params);
};

然后我想访问该id值,但是当我这样做params[0].id时会引发错误(无法读取未定义的属性 id)。当我看到控制台时,该函数被多次调用并且undefined有时会返回。我怎样才能摆脱那些未定义的,只得到最后一个数组?

在此处输入图像描述

标签: javascriptarraysobject

解决方案


params[0]本身就是undefined这样,在打电话之前params[0].id你应该检查一下

if (params[0]) {
   id = params[0].id;
   ...
}

如果要过滤参数数组,可以使用filter函数

filterd = params.filter( x => {

  if (x) {
   return true;
  } 

  return false;

})

//continue with filtered 
...

推荐阅读