$json = '[{"id":"398",.....}]';
var_dump(json_decode($json, true));
array (size=2)
0 =>
array (size=6)
'id' => '398' (length=3)
'name' => 'цупывапывап' (length=22)
'description' => 'Дочь свергнутого короля Семи Королевств из династии Таргариенов Эйриса Безумного. ' (length=153)
'reason_murder' => 'Неприязнь' (length=18)
'killer' => 'Враждебный воин' (length=29)
'weapon' => 'Меч' (length=6)
1 =>
array (size=6)
'id' => '398' (length=3)
'name' => 'цупывапывап' (length=22)
'description' => 'Дочь свергнутого короля Семи Королевств из династии Таргариенов Эйриса Безумного. ' (length=153)
'reason_murder' => 'Неприязнь' (length=18)
'killer' => 'Враждебный воин' (length=29)
'weapon' => 'Меч' (length=6)
Как проверить, есть ли в массиве повторяющиеся элементы...
const hasDuplicates = arr.length > new Set(arr).size;
...и как записать эти элементы в новый массив...
// Получаем повторяющиеся элементы в единственном экземпляре
const duplicatedItemsUnique = Array.from(arr.reduce((acc, n) => (
acc[+acc[0].has(n)].add(n),
acc
), [ new Set, new Set ])[1]);
// Получаем все неуникальные элементы
const duplicatedItemsAll = arr.filter(function(n) {
return this.get(n) > 1;
}, arr.reduce((acc, n) => acc.set(n, -~acc.get(n)), new Map));
...или оставить только элементы которые повторяются?
arr.splice(0, arr.length, ...arr.filter(function(n) {
return this.get(n);
}, arr.reduce((acc, n) => acc.set(n, acc.has(n)), new Map)));
const newArr2 = arr2.filter(n => arr1.includes(n.name));
// или
const newArr2 = arr2.filter(function(n) {
return this.has(n.name);
}, new Set(arr1));
// или
const obj2 = Object.fromEntries(arr2.map(n => [ n.name, n ]));
const newArr2 = arr1.reduce((acc, n) => ((n = obj2[n]) && acc.push(n), acc), []);
let numDeleted = 0;
for (let i = 0; i < arr2.length; i++) {
arr2[i - numDeleted] = arr2[i];
numDeleted += !arr1.includes(arr2[i].name);
}
arr2.length -= numDeleted;
// или
for (let i = arr2.length; i--;) {
if (!arr1.includes(arr2[i].name)) {
arr2.splice(i, 1);
}
}
// или
arr2.reduceRight((_, n, i, a) => arr1.includes(n.name) || a.splice(i, 1), null);
// или
arr2.splice(0, arr2.length, ...arr2.filter(n => arr1.includes(n.name)));
.theDude{
--height: 100%;
}
.theDude:before{
height: var(--height);
}
let el = document.getElementsByClassName('theDude')[0]
el.style.setProperty('--height','200%')