JavaScript - 过滤掉数组中的类似字符串
问题描述:
我从一个数组中看起来像下面的样子打印结果;JavaScript - 过滤掉数组中的类似字符串
A250.1 - 0h 34 m
A450.1 - 0h 34 m
A240.2 - 1h 34 m
A510.2 - 1h 34 m
A440.2 - 1h 34 m
A520.7 - 1h 34 m
A350.1 - 3h 19 m
A450.3 - 3h 34 m
A340.1 - 3h 34 m
A250.1 - 3h 34 m
A320.6 - 3h 34 m
A210.2 - 4h 19 m
A240.4 - 5h 34 m
A240.2 - 5h 34 m
因此,我们必须在这里A250.1 - 0H34米和A250.1 - 3H34米。从第一个(A250.1 - 0h 34 m)过滤出第二个同名(A250.1 - 3h 34 m)的最有效方法是什么? (其他A250.1会弹回到为可见,当第一那些时间到期
澄清;在时间到期时它不再显示经过滤的阵列中的元件
我想的结果。看起来像以下;
A250.1 - 0h 34 m
A450.1 - 0h 34 m
A240.2 - 1h 34 m
A510.2 - 1h 34 m
A440.2 - 1h 34 m
A520.7 - 1h 34 m
A350.1 - 3h 19 m
A450.3 - 3h 34 m
A340.1 - 3h 34 m
A320.6 - 3h 34 m
A210.2 - 4h 19 m
A240.4 - 5h 34 m
A240.2 - 5h 34 m
// REMOVED (2nd) A250.1 - 3h 34 m
关于这个部分的详细信息可以蜜蜂在这里看到, JavaScript - Comparing two arrays with same strings
答
var input_array = [
"A250.1 - 0h 34 m",
"A450.1 - 0h 34 m",
"A240.2 - 1h 34 m",
"A510.2 - 1h 34 m",
"A440.2 - 1h 34 m",
"A520.7 - 1h 34 m",
"A350.1 - 3h 19 m",
"A450.3 - 3h 34 m",
"A340.1 - 3h 34 m",
"A250.1 - 3h 34 m",
"A320.6 - 3h 34 m",
"A210.2 - 4h 19 m",
"A240.4 - 5h 34 m",
"A240.2 - 5h 34 m"
];
var output_array = []
var tmp_array = []
for (var i = 0; i < input_array.length - 1; i++) {
var result = input_array[i].split(' - ');
if (tmp_array.indexOf(result[0]) == -1) {
tmp_array.push(result[0]);
output_array.push(result[0].concat(' - ' + result[1]))
}
}
console.log(output_array);
试试这个代码,它会工作。 检查https://codepad.remoteinterview.io/LLPNUEZDFT
posible重复此问题http://stackoverflow.com/questions/1960473/unique-values-in-an-array – subbu
@ subbu1191不是重复。 –
这是如此不清楚,我甚至不知道女巫的一部分不清楚。即使之前的问题也没有帮助。 –