Я хочу знать, почему мой array.every не является функцией, я ищу часами, но не понимаю, почему это не так. Кто-нибудь может мне помочь ?
function controlUserInput(inputText, appLang) {
const regex = /\$[^$]*\$/gm;
const str = $('#formulaire-preview-textarea').val();
let m;
var array = populateVariable(appLang);
while ((m = regex.exec(str)) !== null) {
// This is necessary to avoid infinite loops with zero-width matches
if (m.index === regex.lastIndex) {
regex.lastIndex++;
}
// The result can be accessed through the `m`-variable.
m.forEach((match, groupIndex) => {
console.info(`Found match, group ${groupIndex}: ${match}`);
var isEqual = match.length==array.length;
for (i=0; i<=array.length-1;i++){
if (displayCpt == 4 && isEqual && match.toArray().every(function(paramInMatch){
return $.inArray(paramInMatch, array) != -1;
})){
osapi.jive.core.container.sendNotification({
"message": "Toutes les valeurs rentrées sont correctes",
"severity": "success"
});
}else{
osapi.jive.core.container.sendNotification({
"message": "Vous n'avez pas utilisé toutes les valeurs",
"severity": "error"
});
}
}
})
};
}


![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


.toArray() - это метод объекта jQuery, и, поскольку ваш match не является объектом jQuery, он не будет работать.
Вы можете использовать простой javascript Array.from(match).
@WillyNguyen Правильно ... и проверьте мое обновление, так как оно вам тоже может не понадобиться
по-видимому, когда я делаю match.every, он также возвращает мне ошибку «match.every не является функцией»
@WillyNguyen Тогда просто используйте Array.from() ... и откатите свой ответ
как это ? Array.from (совпадение)