【发布时间】:2017-08-07 18:59:08
【问题描述】:
这是我的代码模型。
我在这个变量中接收到一个数据:
this.data = data.details;
然后我正在过滤要删除的重复项并将其放入另一个数组中,如下所示:
let dataUnique = this.data.filter(function(el, index, self) {
return index == self.indexOf(el);
}
dataUnique 的console.log:
Array[14]
0: "a"
1: "b"
2: "c"
3: "d"
4: "e"
5: "g"
6: "h"
7: "i"
8: "j"
9: "k"
10: "l"
11: "m"
12: "n"
13: "o"
现在问题发生在这个 if 语句中:
if(something == true) {
let uData = JSON.parse(localStorage.getItem('user'));
switch (uData.language) {
case 'de':
document.querySelector('table tr').insertAdjacentHTML('afterbegin', '<td'> + dataUnique + '</td>');
break;
}
}
问题是我在switch 之前的if 语句中得到dataUnique array 字段的dataUnique array 数量等于something 的数量是true。
所以不是得到:
<table>
<tr>
<td>a b c d e f g h i j k l m n o</td>
</td>
</table>
我收到了:
<table>
<tr>
<td>a b c d e f g h i j k l m n o</td>
<td>a b c d e f g h i j k l m n o</td>
<td>a b c d e f g h i j k l m n o</td>
<td>a b c d e f g h i j k l m n o</td>
<td>a b c d e f g h i j k l m n o</td>
</td>
</table>
<td>a b c d e f g h i j k l m n o</td> 的数量等于我的if 语句中的something == true 的数量。我知道问题是什么,但我不知道如何解决。
谢谢。
编辑:我在上面有 for in 循环,即:
for (let sth in somethingObj) {
let something = somethingObj[sth];
if(something.something == true) {...}
}
【问题讨论】:
-
你确定你没有一个循环,里面有你的 if 吗?请张贴minimal 代码..
-
请注意,我可以用 CSS 解决它:table td:not(:first-child){display:none;},但这并不是真正的解决方案。
-
我上面有,等一下。
-
你去,编辑。
标签: javascript jquery html arrays for-loop