我偶然发现YQL API要查询在Twitter上使用的WOEID,但我可以看到输出并不总是在数组中.API返回一个对象,我对其值感兴趣response.query.results返回以下内容:
我希望结果始终是一个数组.我可以通过使用以下代码检查结果来解决这个问题:
var count = response.query.count;
if(count === 0) {
return [];
} else if(count === 1) {
var arr = [];
arr.push(response.query.results);
return arr;
} else {
return response.query.results;
}
Run Code Online (Sandbox Code Playgroud)
是否有一个javascript或lodash函数可以简化上面的代码?如果提供单个对象,它似乎_.forEach并将_.toArray每个属性视为对象.
Nin*_*olz 12
Array#concat如果response.query.results是假的,你可以使用默认数组.
return [].concat(response.query.results || []);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2722 次 |
| 最近记录: |