Я использую фиксированный массив определенных кодов продуктов и хочу посмотреть, есть ли какие-либо из них в каждой строке файла CSV. Я могу видеть оба массива, но когда я пытаюсь сравнить любые подходящие элементы, они всегда возвращаются как ложные, даже когда я знаю, что есть совпадения.
Пока мне удалось получить CSV-файл, а затем анализировать строку за строкой, используя анализ Папа. Я нашел код JS для сравнения массивов, которые сравнивают одни и те же данные правильно, но мне нужна помощь, чтобы выполнить эту работу при сравнении row.data из Papa Parse.
Возможно, это что-то простое, но я очень плохо знаком с javascript, поэтому любая помощь будет принята с благодарностью.
Это рабочий код сравнения, который я хотел бы повторить:
let b = ["CS165160104", "CS165160105", "CS165160325", "CS166000103", "EN00451003102072M"];
let a = ["CS165160325", "0"];
console.log(a, b, a.some(v => b.includes(v)));
if(a, b, a.some(v => b.includes(v))){
console.log("wazzup")
};
Это код JS и Papa Parse, который не дает одинаковых результатов сравнения:
$("#parseit").on("click", function() {
let codestocheck = ["CS165160104", "CS165160105", "CS165160325", "CS166000103", "EN00451003102072M"];
///* GET CSV FILE *///
const Http = new XMLHttpRequest();
const url = 'https://cdn.shopify.com/s/files/1/2725/8056/files/shopify-csv-test.csv?34741';
Http.open("GET", url);
Http.send();
Http.onreadystatechange = (e) => {
var csvdata = Http.responseText
////* PARSE CSV WITH PAPA PARSE *///
var newdata = Papa.parse(csvdata, {
header: true,
step: function(row) {
let currentcodes = row.data;
if (currentcodes, codestocheck, currentcodes.some(v => codestocheck.includes(v))) {
console.log("TRUE")
}
},
})
}
});
Я предполагаю, что массив row.data не в сопоставимом формате с моим основным массивом?
После этого я планирую собрать соответствующие данные в массив и каким-либо образом экспортировать их в CSV-файл, чтобы пользователи могли их скачать.
Любые мысли приветствуются!