Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Как отсеять элементы с разными значениями?

Виктория Соколова Ученик (86), закрыт 1 год назад
Всем привет! Вопрос на засыпку.. Сама уже засыпалась))
Есть Object
{
"0": <input value="1000">,
"1": <input value="2000">,
"2": <input value="3000">,
"3": <input value="4000">,
"4": <input value="5000">
}
И есть Array
[
{ "0": Object {"id": 1, "name": "День1", "value": "1000" }},
{ "1": Object {"id": 2, "name": "День2", "value": "2000" }},
{ "2": Object {"id": 3, "name": "День3", "value": "3000" }},
{ "3": Object {"id": 4, "name": "День4", "value": "4000" }},
{ "4": Object {"id": 5, "name": "День5", "value": "6000" }}
]
Как возможно сравнить и найти объект в списке с отличным от первого словаря значением?
Лучший ответ
Колледж ВКЭиК Профи (528) 1 год назад
Как-то так:
 document.addEventListener('DOMContentLoaded', function() 
{
const obj = {
"0": '',
"1": '',
"2": '',
"3": '',
"4": ''
};
const arr = [
{"0": {"id": 1, "name": "День1", "value": "1000" }},
{"1": {"id": 2, "name": "День2", "value": "2000" }},
{"2": {"id": 3, "name": "День3", "value": "3000" }},
{"3": {"id": 4, "name": "День4", "value": "4000" }},
{"4": {"id": 5, "name": "День5", "value": "6000" }},
{"5": {"id": 6, "name": "День6", "value": "7000" }}
];
let dictObj = [],
dictArr = [],
res = [];
for (let key in obj)
{
let valObj = obj[key].match(new RegExp(/\/))[1];
dictObj.push(valObj);
}
for (let key in arr)
{
let valArr = arr[key][Object.keys(arr[key])[0]].value;
dictArr.push(valArr);
}
let diff = dictArr.filter(e => !~dictObj.indexOf(e));
console.log(dictObj);
console.log(dictArr);
console.log(diff);
for (let key in arr)
{
let valArr = arr[key][Object.keys(arr[key])[0]].value;
if (diff.includes(valArr)) res.push(arr[key]);
}
console.log(res);
});
Рабочий пример:
https://jsfiddle.net/awv2c8h4/
Остальные ответы
Похожие вопросы