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(" ");