A_
Size: a a a
A_
AK
Д
d
OR
OR
W
NR
M
a
S
JG
[
{
"color": "red",
"memory": "256gb",
"new-or-used": "no",
"model": "iphone-se-2020"
},
{
"color": "black",
"memory": "256gb",
"new-or-used": "no",
"model": "iphone-se-2020"
},
{
"color": "white",
"memory": "256gb",
"new-or-used": "no",
"model": "iphone-se-2020"
},
{
"color": "red",
"memory": "128gb",
"new-or-used": "no",
"model": "iphone-se-2020"
}]
{
"model": [
"iphone-se-2020"
],
"new-or-used": [
"no"
],
"memory": [
"256gb",
"128gb",
"64gb"
],
"color": [
"red",
"black",
"white"
]
}
const filtersArr = products.map((p) => p.filters[0]);
let filtersObj = {};
const modelsArr = [...new Set(filtersArr.map(e => e.model))];
const newOrUsedArr = [...new Set(filtersArr.map(e => e['new-or-used']))];
const dualSimArr = [...new Set(filtersArr.map(e => e['dual-sim']))];
const memoryArr = [...new Set(filtersArr.map(e => e['memory']))];
const colorArr = [...new Set(filtersArr.map(e => e['color']))];
const cellularArr = [...new Set(filtersArr.map(e => e['cellular']))];
const diagonalArr = [...new Set(filtersArr.map(e => e['diagonal']))];
filtersObj.model = modelsArr;
filtersObj['new-or-used'] = newOrUsedArr;
filtersObj['dual-sim'] = dualSimArr;
filtersObj.memory = memoryArr;
filtersObj.color = colorArr;
filtersObj.cellular = cellularArr;
filtersObj.diagonal = diagonalArr;
АБ
АБ
АБ
JG
АБ
D
const getParameters = (phones, keys) => {
const parameters = {};
phones.forEach(phone => {
keys.forEach(key => {
const value = phone[key];
if(!parameters[key]) parameters[key] = [];
if(!parameters[key].includes(value)) parameters[key].push(value);
})
})
return parameters;
}
console.log(getParameters(phones, ['color', 'new-or-used', 'model', 'color']));
JG
const getParameters = (phones, keys) => {
const parameters = {};
phones.forEach(phone => {
keys.forEach(key => {
const value = phone[key];
if(!parameters[key]) parameters[key] = [];
if(!parameters[key].includes(value)) parameters[key].push(value);
})
})
return parameters;
}
console.log(getParameters(phones, ['color', 'new-or-used', 'model', 'color']));