$values = array_column($array2, 'value');
$result = array_filter($array1, fn($n) => in_array($n->code, $values));
const result = array2.filter(function(n) {
return this.has(n.code);
}, new Set(array1.map(n => n.value)));
const obj2 = Object.fromEntries(array2.map(n => [ n.code, n ]));
const result = array1.reduce((acc, n) => ((n = obj2[n.value]) && acc.push(n), acc), []);
const result = array2.filter(n => array1.some(m => m.value === n.code));
const array1 = [{ value: '0E1' }, { value: '8B3' }];
const array2 = [
{ code: '0E1', desc: 'Some text' },
{ code: '8B3', desc: 'Some text' },
{ code: '9N8', desc: 'Some text' },
];
const filter = array1.map((el) => el.value);
const result = array2.filter((el) => filter.includes(el.code));
console.log(result);
// Array [ {…}, {…} ]
// 0: Object { code: "0E1", desc: "Some text" }
// 1: Object { code: "8B3", desc: "Some text" }
{
type: m.subType === 'warning' ? 'warn' : m.subType
}
{
type: m.subType,
}
const messages = [{
id: 1,
subType: 'warning'
},
{
id: 2,
subType: 'info'
},
{
id: 3,
subType: 'some'
},
];
const newMessages = messages.map(({id, subType}) => ({
explanation: '',
messageid: id,
type: (subType === 'warning') ? 'warn' : (subType === 'info') ? 'info' : 'error'
}));
console.log(newMessages);
undefined
, вместо которого с помощью nullish coalescing подставляем просто цену. А чтобы не копипастить извлечение цены, вынесем его в отдельную функцию, которую, как и сам сортируемый массив, можно сделать параметром функции сортировки.const sorted = (arr, key) => arr
.map(n => [ n, key(n) ])
.sort((a, b) => a[1] - b[1])
.map(n => n[0]);
const sortedArr = sorted(arr, n => -(n.price.new ?? n.price).replace(/\D/g, ''));