#javascript #arrays #reactjs #array-comparison
Вопрос:
Я использую react для этого кода. В течение некоторого времени я искал, как это сделать, у меня есть массив массивов, и мне нужно сравнить, равно ли начало массива началу другого массива, затем получить все следующие значения обоих массивов и поместить их в массивы, которые заполнят другой массив.
const chartValues = () => { dataValues.forEach((item) => { dataValues.forEach((item2) => { if ((JSON.stringify(item.slice(0, group.length))===JSON.stringify(item2.slice(0, group.length)))) { item.slice(group.length,group.length select.length 1).forEach((item4, i)=>{ setArrayData([...arrayData, ['{' item.slice(0, group.length) ',' select[i-1] '}', item[group.length i-1], item2[group.length i-1]]]) }) } }) }) }
Я думаю, что он сравнивает только с самим собой, никогда не сравнится с item2.
dataValues = [ ['g1','g2',1,2], ['g1','g2',3,4], ] group = ['G1','G2'] select = ['F1','F2']
Результат, который я получаю от этого, таков
arrayData= [ [ '{g1,g2,F1}', 1,1 ] ];
Я хочу
arrayData= [ [ '{g1,g2,F1}', 1, 3] , ['{g1,g2,F2}', 2,4] ];
Комментарии:
1. Почему вы используете
map
без возврата? Вы должны использоватьforEach
илиfor...of
вместо этого2. пункты 1 и 2 в вашем коде совпадают. добавьте полный код. что такое выбор и группировка? и {} обозначение не является массивом.
3. я пытался использовать что-то вроде » для «внутри » для», чтобы сравнить его с самим собой
4. Что такое G1, G2, F1, F2? Приведите конкретный пример и покажите желаемый результат
5. это струны