Javascript 在一组单词中查找倒转的单词

Javascript 在一组单词中查找倒转的单词,javascript,arrays,reverse,indexof,Javascript,Arrays,Reverse,Indexof,我需要编写一个函数,该函数接受特定单词的数组,并查找反向版本的索引 我需要返回“peehs”的索引 var example = ['sheep', 'sheep', 'sheep', 'peehs', 'sheep']; var result = 3 只是澄清一下,该函数已经接收到一个数组,它不是上述示例所特有的。因此,我可以接收一个数组,如 var example = ['horse', 'esroh', 'horse', 'horse'] var result = 1 另外,正如一些评论

我需要编写一个函数,该函数接受特定单词的
数组
,并查找反向版本的索引

我需要返回“peehs”的索引

var example = ['sheep', 'sheep', 'sheep', 'peehs', 'sheep'];
var result = 3
只是澄清一下,该函数已经接收到一个数组,它不是上述示例所特有的。因此,我可以接收一个数组,如

var example = ['horse', 'esroh', 'horse', 'horse']
var result = 1
另外,正如一些评论所说,我不知道给定的数组。因此,我需要找到出现多次的单词,然后找到只出现一次的单词的索引

我原本以为可以获取数组的第一个索引并将其与其他索引进行比较,但是第一个索引可能是反向版本,因此无法工作。

按照以下步骤操作:

  • 从控制台或您拥有的任何来源获取输入

    输入以下是一个示例实现:

    var strings=['sheep','sheep','sheep','peehs','sheep'];
    var searchString='sheep';
    功能反向限制(str){
    返回str.split(“”).reverse().join(“”);
    }
    功能索引FREVERSESTRING(str、arr){
    返回arr.indexOf(反向限制(str));
    }
    
    log(indexOfReverseString(searchString,strings))您可以通过以下方式进行检查

    我希望下面的代码能够解决这个问题

    const isReverseString=(str,orgStr)=>
    数组.from(str).reverse().join(“”===orgStr?对:错
    让arrOfString=[‘羊’、‘羊’、‘羊’、‘皮’、‘羊’];
    const orgStr=“绵羊”;
    常量findIndexOfArrofsString=(arr)=>{
    arr.forEach((item,index)=>isReversString(item,orgStr)?console.log(“index为:”,index):null)
    }
    
    console.log(findIndexOfArrofString(arrOfString))
    您必须为此使用.split、.join和.reverse吗?根据你的解释,我不确定使用它们是否有意义

    这将是我的解决方案,基于这样的假设:反转的单词只出现一次,正常的单词出现不止一次,这些是数组中唯一的字符串,并且您事先不知道单词是什么:

    let wordArr = ['sheep', 'sheep', 'sheep', 'peehs', 'sheep'];
    let tempArr = wordArr.slice().sort();
    if(tempArr [0] !== tempArr [1]) {
        console.log(wordArr.indexOf(tempArr[0]));
    } else {
        console.log(wordArr.indexOf(tempArr[tempArr.length -1]));
    }
    

    大概你不能像一位评论员所建议的那样,只做.indexOf('peehs')。此解决方案必须动态查找数组中使用的单词,并找到奇数的反向单词。

    “(例如,给定字符串为['sheep'、'sheep'、'sheep'、'peehs'、'sheep']我需要返回'peehs'的索引。)在本例中,它应该返回3。”->
    indexOf
    准确返回该值。你需要“反转”什么?不需要,就像我复习了上面例子中的字符串一样。我需要编写一个函数来标识反向版本的索引。您已经有了它,它是
    indexOf
    。您的问题是重新格式化反向版本。
    String.reverse
    不是一个函数我的意思是“Inputstring.reverse()”。我以为他知道弦functions@DeepakKumar这就是Rayon的意思:它不存在于字符串值中。有一个函数可以使用reverse()函数反转字符串基本上,您似乎是为JavaScript以外的语言编写的。虽然不禁止使用问题OP中未指定的语言,但通常不受欢迎,尤其是当你不说你使用的语言时。我认为OP问题的核心是查找
    searchString
    。你的意思是
    searchString
    ,@Solo.Yes,但你需要先知道哪个是非反转版本。这正是我要问的问题,谢谢。我不知道给定的单词是什么,所以我需要找到一个出现不止一次的单词,然后找到不出现不止一次的单词的索引。太好了,如果这回答了你原来的问题,那么你可以接受这个作为正式答案&投赞成票。如果仍然存在问题,那么指出它们,我可以尝试解决它们。干杯,这么简单的解决方案,想得太多了!
    let wordArr = ['sheep', 'sheep', 'sheep', 'peehs', 'sheep'];
    let tempArr = wordArr.slice().sort();
    if(tempArr [0] !== tempArr [1]) {
        console.log(wordArr.indexOf(tempArr[0]));
    } else {
        console.log(wordArr.indexOf(tempArr[tempArr.length -1]));
    }