我从 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/