【发布时间】:2010-07-22 11:21:46
【问题描述】:
在处理从 YQL 返回的 JSON 时,我发现自己正在寻找一种从数组中提取所有唯一值的方法。
function uniqueArrayValues(o){
var items = o.query.results.row,
output = [];
function check(val){
for(var c=0; c<output.length; c++){
if(output[c] === val){
return false;
}
}
return true;
}
for(var i=1; i<items.length; i++){
if(check(items[i].team)){
output.push(items[i].team);
}
}
return output;
}
代码看起来有点“忙”,我想知道是否有更优雅的方式从数组中提取唯一值。
【问题讨论】:
-
您可以过滤到 YQL 查询中的唯一值,如果您愿意的话。请参阅developer.yahoo.com/yql/guide/sorting.html --- 类似于
| unique(field="row.team")(字段可能不同,具体取决于结果结构)。 -
如果我只需要唯一值,这将起作用,但我从客户端已经存在的对象中提取这些值(我只发出一个 YQL 请求)。
-
@Q,很公平。 eskimoblood's 回答应该可以帮到你。
标签: javascript json yql