jQuery为什么我的array.every不是函数?

时间:2018-07-01 13:22:20

标签: javascript jquery html css jive

我想知道为什么我的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"
				});
			}	
		}
	})
    };
}

1 个答案:

答案 0 :(得分:3)

.toArray()是jQuery对象的方法,而您的match不是jQuery对象,因此它将不起作用。

您可以使用普通的JavaScript Array.from(match)