从函数中添加if()内的文本

时间:2014-02-17 19:41:03

标签: javascript

我有一点问题,我做了这个功能:

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()的结果它将起作用,我该怎么做才能使它工作?

1 个答案:

答案 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,你传递两个数组,并返回一个布尔值!