Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用JavaScript的字谜 函数myAnagram(arr1、arr2) { var-str1=arr1; var str2=arr2; var temp1=[]; var temp2=[]; var标志=0; if(str1.length!==str2.length) { 返回“Not Anagram statement A”; } 其他的 { 对于(var i=0;i_Javascript_Html - Fatal编程技术网

使用JavaScript的字谜 函数myAnagram(arr1、arr2) { var-str1=arr1; var str2=arr2; var temp1=[]; var temp2=[]; var标志=0; if(str1.length!==str2.length) { 返回“Not Anagram statement A”; } 其他的 { 对于(var i=0;i

使用JavaScript的字谜 函数myAnagram(arr1、arr2) { var-str1=arr1; var str2=arr2; var temp1=[]; var temp2=[]; var标志=0; if(str1.length!==str2.length) { 返回“Not Anagram statement A”; } 其他的 { 对于(var i=0;i,javascript,html,Javascript,Html,而言,您的问题在于在循环中使用的标识符。 请看一下已更正的代码 function myAnagram(arr1,arr2) { var str1=arr1; var str2=arr2; var temp1=[]; var temp2=[]; var flag=0; if(str1.length!==str2.length) { return "Not Anagram statement A"; } els

而言,您的问题在于在循环中使用的标识符。 请看一下已更正的代码

function myAnagram(arr1,arr2)
{
    var str1=arr1;
    var str2=arr2;
    var temp1=[];
    var temp2=[];
    var flag=0;

    if(str1.length!==str2.length)
    {
        return "Not Anagram statement A";
    }
    else
    {
        for(var i=0;i<str1.length-1;i++)
        {
            temp1[i]=str1[i];
        }

        for(var j=0;j<str2.length-1;j++)
        {
            temp2[i]=str2[i];
        }

        temp1.sort();
        temp2.sort();

        for(var k=0;k<str1.length-1;k++)
        {
            if(temp1[j]!==temp2[j])
            {
                return "Not Anagram statement C";
            }
            else
            {
                return "Anagram! statement D";
            }
        }
    }
}
函数myAnagram(arr1、arr2){
var-str1=arr1;
var str2=arr2;
var temp1=[];
var temp2=[];
var标志=0;
if(str1.length!==str2.length){
返回“Not Anagram statement A”;
}否则{
对于(变量i=0;i
希望能有帮助!!
PS:您可以在很大程度上优化此代码。

您遇到的问题是在循环中使用的标识符。 请看一下已更正的代码

function myAnagram(arr1,arr2)
{
    var str1=arr1;
    var str2=arr2;
    var temp1=[];
    var temp2=[];
    var flag=0;

    if(str1.length!==str2.length)
    {
        return "Not Anagram statement A";
    }
    else
    {
        for(var i=0;i<str1.length-1;i++)
        {
            temp1[i]=str1[i];
        }

        for(var j=0;j<str2.length-1;j++)
        {
            temp2[i]=str2[i];
        }

        temp1.sort();
        temp2.sort();

        for(var k=0;k<str1.length-1;k++)
        {
            if(temp1[j]!==temp2[j])
            {
                return "Not Anagram statement C";
            }
            else
            {
                return "Anagram! statement D";
            }
        }
    }
}
函数myAnagram(arr1、arr2){
var-str1=arr1;
var str2=arr2;
var temp1=[];
var temp2=[];
var标志=0;
if(str1.length!==str2.length){
返回“Not Anagram statement A”;
}否则{
对于(变量i=0;i
希望能有帮助!!
PS:您可以在很大程度上优化此代码。

您的循环总是跳过最后一个元素,因为您使用
您的循环总是跳过最后一个元素,因为您使用
您也可以这样尝试

if (isAnagram("frog","rg0f")) {
    console.log("Anagram!")
} else {
    console.log("Not Anagram.")
}

你也可以这样试试

if (isAnagram("frog","rg0f")) {
    console.log("Anagram!")
} else {
    console.log("Not Anagram.")
}

发现两个字符串大小相等 比较字符和匹配的字符数

function anagrams(stringA, stringB) {

  const a = buildCharMap(stringA);
  const b = buildCharMap(stringB);

  if (Object.keys(a).length !== Object.keys(b).length) {
    return false;
  }

  for(let char in a) {
    if(a[char] !== b[char]) {
      return false;
    }
  }
  return true;
}

function buildCharMap(str) {
  const charMap = {};

  for (let char of str.replace(/[^\w]/g, "").toLowerCase()) {
    charMap[char] = charMap[char] + 1 || 1;
  }
  return charMap;
}

发现两个字符串大小相等 比较字符和匹配的字符数

function anagrams(stringA, stringB) {

  const a = buildCharMap(stringA);
  const b = buildCharMap(stringB);

  if (Object.keys(a).length !== Object.keys(b).length) {
    return false;
  }

  for(let char in a) {
    if(a[char] !== b[char]) {
      return false;
    }
  }
  return true;
}

function buildCharMap(str) {
  const charMap = {};

  for (let char of str.replace(/[^\w]/g, "").toLowerCase()) {
    charMap[char] = charMap[char] + 1 || 1;
  }
  return charMap;
}

你的输入是字符串还是数组?你的意思是输入一个算法还是字谜@Axel@DanIonescu先生,我的输入是字符串,并且只实现了一个字谜。谢谢您的评论先生:您的输入是字符串还是数组?您的意思是输入一个算法还是字谜@Axel@DanIonescu我的输入是字符串,先生,实现anagr我只是先生。谢谢你的评论先生:Dhi mate!谢谢你的解释,我现在就试试。谢谢!D gbuhi mate!谢谢你的解释,我现在就试试。谢谢!:D gbuhi@mmende,谢谢你的帮助和解释,现在我知道问题出在哪里了。顺便说一句,非常感谢你,伙计!gbu!。你好@mmende谢谢你的帮助和帮助解释一下,现在我知道问题出在哪里了。顺便说一句,非常感谢你,伙计!gbu!。