检查数组是否有回文

时间:2016-01-06 16:00:28

标签: javascript arrays palindrome

不是单独通过参数,而是如何遍历数组并检查每个单词是否是回文?如果是,我想要返回单词,如果不是我想返回0。

var myArray = ['viicc', 'cecarar', 'honda'];    

function palindromize(words) {
    var p = words.split("").reverse().join("");

    if(p === words){
        return(words);
    } else {
        return("0");
    }
}
palindromize("viicc");
palindromize("cecarar");
palindromize("honda");

3 个答案:

答案 0 :(得分:0)

您需要使用for loop

for (var i = 0; i < myArray.length; i++) {
    palindromize(myArray[i]);
}

我建议你对它们非常熟悉,因为它们(可以说)是最常见的循环结构类型。

答案 1 :(得分:0)

只需使用Array.prototype.map()

  

map()方法创建一个新数组,其结果是在此数组中的每个元素上调用提供的函数。

myArray.map(palindromize)

var myArray = ['viicc', 'cecarar', 'honda', 'ada'];

function palindromize(word) {
    var p = word.split("").reverse().join("");
    return p === word ? word : 0;
}

document.write('<pre>' + JSON.stringify(myArray.map(palindromize), 0, 4) + '</pre>');

答案 2 :(得分:0)

var myArray = ['viicc', 'cecarar', 'honda', 'malayalam' ];   
var b = myArray.filter(function(c,d,f){
var Cur = c.split('').reverse().join('');
if(c == Cur){
console.log( myArray[d] +" " + " is Palindrome" );
}
});