У меня есть массив массивов, который выглядит следующим образом:Удалить дубликаты из массива массивов по первому объекту
arr = [
["Bob","USA","55"],
["Frank","Canada","20"],
["Bob","UK","35"],
["Bob","France","38"],
["Anna","Poland","22"]
]
Я хотел бы удалить дубликаты массивов, которые имеют то же значение на первую позицию (то же самое имя) - поэтому я хотел бы, чтобы мой выход будет выглядеть:
arr = [
["Bob","USA","55"],
["Frank","Canada","20"],
["Anna","Poland","22"]
]
Я пытаюсь сделать это таким образом:
uniqueArr = []
for (var i in arr) {
if (uniqueArr.indexOf(arr[i][0]) === -1)) {
uniqueArr.push(arr[i][0])
}
Все работает нормально - мой вывод выглядит как Bob, Frank, Anna
Но проблема в том, что я пытаюсь восстановить целые массивы с уникальным именем. Когда я делаю:
uniqueArr = []
for (var i in arr) {
if (uniqueArr.indexOf(arr[i][0]) === -1)) {
uniqueArr.push(arr[i])
}
Мой вывод выглядит точно так же, как входной массив. Вы знаете, где я поступаю неправильно?
Проблема заключается в том, когда вы нажимаете на весь массив на 'uniqueArr', вы не можете просто использовать' indexOf' на нем больше, потому что она больше не содержит простые строки. – CodingIntrigue
Я удалил тэг 'jQuery', потому что это не имеет значения здесь –