Javascript String.Split()方法给出字符串
Javascript String.Split() Method Giving Strings
所以我有一个有趣的问题使用String.split()在谷歌Chrome浏览器在最近,快速的Javascript算法。我正在处理一个相当大的对象,我想要查看对象的每个键,检查它的质量,然后对键字符串的名称进行操作,如果它匹配(尝试为名称中的每个单词增加)。
下面的代码解释了错误,并假设存在cardData(在HTML中的单独脚本中声明的变量,相当于var cardData=(这里的Giant对象),特别是AllCards中的对象)。Json位于mtgjson.com
当我console.log name(或typeof name)时,它似乎返回一个逗号分隔的字符串,而不是一个实际的Javascript数组。这个错误会在只有3个数据集的备用选项卡中重现,使用相同的算法。我很想知道,到目前为止,是否有人看到了这个问题,或者是否有人有一些我在这个问题上可能遗漏的见解。谢谢!
示例输入和代码:
var cardData = {
"Shivan Dragon": {
"types": ["Creature"]
},
"Mimeoplasm": {
"types": ["Creature"]
},
"This Is A Card Name": {
"types": ["Creature"]
}
};
var totalNameLength = 0;
var alreadyCheckedNames = {};
for (var key in cardData){
if ((cardData[key]["types"] && cardData[key]["types"].indexOf("Creature") === -1) || (cardData[key]["supertypes"] && cardData[key]["supertypes"].indexOf("Legendary") !== -1)){
delete cardData[key];
}
else {
if (!alreadyCheckedNames[key]){
var name = String.prototype.split.call(key, " ");
totalNameLength++;
alreadyCheckedNames[key] = cardData[key];
for (var i = 0; i < name.length; i++){
if (name[i] === ","){
totalNameLength++;
}
}
console.log(name);
}
}
}
console.log(totalNameLength);
控制台输出示例:
<>之前Shivan,龙Mimeoplasm这一点,一个是卡,名字8我想我找到问题了…这不起作用:
for (var key in cardData){
var name = key.split(" ");
console.log(name);
}
for (var key in cardData){
var card_name = key.split(" ");
console.log(card_name);
}
:)
相关文章:
- Javascript,有没有一种方法可以将数组写成没有逗号或空格的单个文本字符串
- 在JavaScript中拆分日期字符串的更好方法是什么
- 用Javascript重新格式化复杂文本日期字符串的更好方法
- 用javascript修复这个JSON对象字符串最干净的方法是什么
- jQuery字符串使用split()方法在空格后拆分字符串
- 使用查询字符串方法清除浏览器缓存
- 使用子字符串方法时应用程序挂起的原因
- 使用字符串方法更改Javascript对象中的DOM元素参数
- 在Javascript中对对象属性执行字符串方法
- 直接访问字符串方法
- 尝试我自己的字符串方法来删除元音
- 对字符串方法的ajax调用不起作用
- 字符串方法精确文本
- 如何在字符串原型扩展方法中使用字符串方法
- 有没有任何字符串方法,能让我把一串数字,转换成一串数字和字母
- 字符串方法
- 在定义新的字符串方法时使用reduce()
- 问题与自定义大写字符串方法,jQuery和Select2
- 使用比较字符串方法或使用==验证密码字段,但两者都不起作用
- 如何防止javascript缓存?查询字符串方法不起作用