我有一点问题,我做了这个功能:
function arrayCounter(number){
var textToReturn = "";
for(var i =1; i<=number;i++){
textToReturn += "array[i"+(+(i-1))+"] == arrayText["+(i-1)+"]";
if(i != number){
textToReturn = textToReturn + " && ";
}
}
return textToReturn;
};
我在IF条件下使用此函数:
for(var i=0; i < array.length; i++){
if(arrayCounter(arrayText.length)){
但它不起作用,如果我在IF条件中手动添加了arrayCounter()的结果它将起作用,我该怎么做才能使它工作?
答案 0 :(得分:2)
但它不起作用
它可以正常工作并根据需要返回文本。
我在IF条件下使用此功能
...但if条件需要布尔值,而不是字符串!你基本上是在执行
if ("array[0] == arrayText[0] && array[1] == arrayText[1]") {
但需要
if (array[0] == arrayText[0] && array[1] == arrayText[1]) {
我该怎么做才能让它发挥作用?
你可以eval()
字符串,但不要这样做。 eval
是不好的做法,不应该用它。
相反,创建一个function arrayCondition
,你传递两个数组,并返回一个布尔值!