Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/366.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/88.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 将一系列单词重新组合成一个句子_Javascript_Jquery_Arrays - Fatal编程技术网

Javascript 将一系列单词重新组合成一个句子

Javascript 将一系列单词重新组合成一个句子,javascript,jquery,arrays,Javascript,Jquery,Arrays,好的,我正在为我的申请建立一个亵渎标志。除了我似乎无法将一系列单词再次组合成一个句子之外,它的大部分功能就像一个符咒 $.each(chatHistory, function(key, obj){ obj.chat_talk = obj.chat_talk.split("+"); if (flagProfanity(obj.chat_talk) === true){ //obj.chat_talk = obj.c

好的,我正在为我的申请建立一个亵渎标志。除了我似乎无法将一系列单词再次组合成一个句子之外,它的大部分功能就像一个符咒

     $.each(chatHistory, function(key, obj){
        obj.chat_talk = obj.chat_talk.split("+");

            if (flagProfanity(obj.chat_talk) === true){
                //obj.chat_talk = obj.chat_talk.split(",").join(" ");
                $("#chatBody").append(
                "<div class='flag'>"+
                "<div>"+ obj.chat_name +"</div>"+
                "<div>"+"["+ obj.alliance_name +"]:"+"</div>"+
                "<div class='chatMsg'>"+ decodeURIComponent(obj.chat_talk) +"</div>"+
                "<div class='chatTime'>"+ obj.chat_time +"</div>"+
                "</div><br />"
                );
            }else{
                $("#chatBody").append(  
                //obj.chat_talk = obj.chat_talk.split(",").join(" ");               
                "<div class='chatName' onclick='warnee($(this).html)'>"+ obj.chat_name +"</div>"+
                "<div>"+"["+ obj.alliance_name +"]:"+"</div>"+
                "<div class='chatMsg'>"+ decodeURIComponent(obj.chat_talk) +"</div>"+
                "<div class='chatTime'>"+ obj.chat_time +"</div>"+
                "<br />"
                );
            }
    });//End each loop
以及:

两者都不起作用。如果if语句中没有这些行,则内容输出会很好地显示在显示屏中,所有em之间都会加上逗号。输入这些行,则根本没有输出

firebug上没有错误或警告,也没有来自2个不同JS验证器的任何错误

内容示例:

"chat": [
     {
    "chat_type": 0,
    "chat_id": 445473683,
    "chat_name": "system",
    etc,
    etc,
    "chat_talk": "Chat+messages+here"
    },
    {
    //Another chat message
    }

]
这是obj的内容。obj,chat_thank应该只包含消息部分。然后我在“+”处拆分内容,并通过flag函数运行它

编辑:亵渎标志功能代码

function flagProfanity(object) {
$.each(object, function(key, word){
    if ($.inArray(word, blacklist) != -1){
        return true;
    }
});
return false;   
}//End Profanity flag
这是你的问题

function flagProfanity(object) {
  $.each(object, function(key, word){
    if ($.inArray(word, blacklist) != -1){
      return true;
    }
  });
  return false;   
}
返回true

在匿名函数(关键字、word)的上下文中返回

因此,它总是错误的

function flagProfanity(words) {
  var found = false;
  $.each(word, function(key, word){
    if ($.inArray(word, blacklist) != -1){
      found = true;
    }
  });
  return found;   
}
会更好(注意:我更改了输入的名称,以明确这是单词列表,而不是对象)


应该是用于将字符串数组组合在一起的内容

obj.chat\u talk包含哪些内容?你能给我们一个(无害的)内容样本吗?@ZappTBrannigan不应该是
obj.chat\u talk=obj.chat\u talk.split(“+”).join(“”)obj.chat\u-talk.split(“+”)
命令之后,
obj.chat\u-talk
将是一个数组:
[“chat”,“messages”,“here”]
。在阵列上使用
.split()
时,您希望发生什么?控制台中出现的内容看起来像一个用逗号分隔的字符串,但它代表一个数组。我的想法是它可能会用逗号分隔,但我对JS非常陌生。话虽如此,我确实尝试在if语句中使用just.join()。@ZappTBrannigan我在本地运行了您的代码,并在使用
obj.Chat\u talk=obj.Chat\u talk.join(“”)时正确地获取了“聊天信息”。你能发布
亵渎旗帜()的代码吗?可能会产生一些副作用。看起来很有希望!非常感谢。我会尽快插上电源并报告。:)
function flagProfanity(object) {
  $.each(object, function(key, word){
    if ($.inArray(word, blacklist) != -1){
      return true;
    }
  });
  return false;   
}
function flagProfanity(words) {
  var found = false;
  $.each(word, function(key, word){
    if ($.inArray(word, blacklist) != -1){
      found = true;
    }
  });
  return found;   
}
obj.chat_talk = obj.chat_talk.join(" ");