【发布时间】:2016-11-07 11:54:34
【问题描述】:
我需要过滤掉我的数组以仅包含唯一值。 这是我的数组数据
["X_row7", "X_row4", "X_row6", "X_row10", "X_row8", "X_row9", "X_row11", "X_row7", "X_row4", "X_row6", "X_row10", "X_row8", "X_row9", "X_row11", "X_row7", "X_row4", "X_row6", "X_row10", "X_row8", "X_row9", "X_row11", "X_row7", "X_row4", "X_row6", "X_row10", "X_row8", "X_row9", "X_row11", "X_row7", "X_row4", "X_row6", "X_row10", "X_row8", "X_row9", "X_row11", "X_row7", "X_row4", "X_row6", "X_row10", "X_row8", "X_row9", "X_row11"]
预期结果应该是
["X_row7", "X_row4", "X_row6", "X_row10", "X_row11", "X_row8", "X_row9"]
我应该如何继续我的代码以获得正确的结果。
newArray = [];
for(n in data){
if(!newArray.indexOf(n)){
newArray.push(n);
}
}
console.log(newArray);
如果您需要任何其他信息,请告诉我,我会提供。谢谢
【问题讨论】:
-
["X_row7", "X_row4", "X_row6", "X_row10", "X_row8", "X_row9", "X_row11", "X_row7", "X_row4", "X_row6", "X_row10", "X_row8", "X_row9", "X_row11", "X_row7", "X_row4", "X_row6", "X_row10", "X_row8", "X_row9", "X_row11", "X_row7", "X_row4", "X_row6", "X_row10", "X_row8", "X_row9", "X_row11", "X_row7", "X_row4", "X_row6", "X_row10", "X_row8", "X_row9", "X_row11", "X_row7", "X_row4", "X_row6", "X_row10", "X_row8", "X_row9", "X_row11"].filter(function(v,i,arr){ return i==arr.indexOf(v); }) -
请仔细检查您的预期输出 - 为什么不包括
X_row9? -
使用循环:var x = ["X_row7", "X_row4", "X_row6", "X_row10", "X_row8", "X_row9", "X_row11", "X_row7", "X_row4" 、“X_row6”、“X_row10”、“X_row8”、“X_row9”、“X_row11”、“X_row7”、“X_row4”、“X_row6”、“X_row10”、“X_row8”、“X_row9”、“X_row11”、“ X_row7”、“X_row4”、“X_row6”、“X_row10”、“X_row8”、“X_row9”、“X_row11”、“X_row7”、“X_row4”、“X_row6”、“X_row10”、“X_row8”、“X_row9” ,“X_row11”,“X_row7”,“X_row4”,“X_row6”,“X_row10”];让它 =[]; for (let i = 0; i
标签: javascript arrays