Я хочу знать, почему мой 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.log(`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" }); } } }) }; }
.toArray() - это метод объекта jQuery, а поскольку ваш match не является объектом jQuery, он не будет работать.
.toArray()
match
Вы можете использовать простой JavaScript Array.from(match).
Array.from(match)