Javascript - 对对象和数组使用条件

标签 javascript

我从 API 收到一个 data 值,我想制定一个条件来处理它。有时它可以作为数组或对象出现。我将使用一个简单的示例。

data = [1,2,3] // These values come from API
data.map(i => i++)

问题是:有时data也可以这样来

    data = {
       arr: [1,2,3]
    }
    // It evals an error in .map, because now "data" is an object

我知道我可以通过这样的方式解决它:

if(Array.isArray(data))
 data.map(i => i++);
else
 data.arr.map(i => i++);

但是我的代码不是只有一行.map。有没有办法在不复制和粘贴代码的情况下制作这个简单的条件?

谢谢!

最佳答案

例如,您可以将数组引用分配给另一个变量并在其余代码中使用它,如下所示:

let arr = Array.isArray(data) ? data : data.arr;
arr.map(i => i++)

关于Javascript - 对对象和数组使用条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53723393/

相关文章:

javascript - 检测到循环依赖项中的警告 : barrelsby Angular 10

javascript - jQuery:根据任意数量的复选框隐藏/显示 div

javascript - 超过最大调用堆栈 RangeError

javascript - 与 D3 的关系图

javascript - Chart.js 未显示在在线站点上

javascript - 迭代nodejs字符串行

javascript - 在 Reactjs 中读取 excel 文件

javascript - 为什么 Jquery/ajax 调用 RESTful 服务无法获得成功回调?

javascript - 注册JSP页面显示错误时出错

javascript - 在条形图上设置值-echarts