У меня есть проблема, которую я пытался решить безрезультатно.
В этом массиве массивов, когда два или более цветовых ключа в объектах совпадают с любым другим набором цветовых ключей объектов массива, яхотел бы добавить логический ключ с именем match
к каждому из объектов этого массива, независимо от того, соответствует ли каждый ключ.
Например, два объекта в массивах data[0][0]
и data[0][1]
совместно используют ключ color
white
и black
, то есть match: true
для всех объектов в data[0][0]
и data[0][1]
, но не data[0][2]
, поскольку у него есть только один, поэтому будет match: false
.
Результат будет выглядеть следующим образом:
data = [
[{
name: 'car',
color: 'black',
group: 0,
match: true
},{
name: 'car',
color: 'white',
group: 0,
match: true
},{
name: 'car',
color: 'blue',
group: 0,
match: true
}],
[{
name: 'truck',
color: 'black'
group: 1,
match: true
},{
name: 'truck',
color: 'white',
group: 1,
match: true
},{
name: 'truck',
color: 'yellow',
group: 1,
match: true
}],
[{
name: 'moto',
color: 'black',
group: 2,
match: false
},{
name: 'moto',
color: 'pink',
group: 2,
match: false
},{
name: 'moto',
color: 'orange',
group: 2,
match: false
}]
]
Это небольшой пример.Фактические данные имеют сотни массивов, и совпадение должно быть не менее 7