在IE8中使用Javascript将字符串拆分为数组
Split string into array with Javascript in IE8
我有一个字符串,需要用三个下划线字符分隔。字符串的一个例子可能是:
var stringItemsPlanner = "Hello this___is a string___which___needs splitting into___an array";
所以我使用Split()函数。除了IE8(可能还有7,但没有尝试过)之外,其他都很好。如果字符串不包含这些字符,IE8会给出"Object不支持此属性或方法"错误。所以我发现了另一篇帖子,上面说在拆分之前要检查字符串中是否出现下划线字符,所以我这样做了:
if (stringItemsPlanner.indexOf('___') == -1){
arrItemsPlanner = [];
}else{
arrItemsPlanner = stringItemsPlanner.split('___');
}
但现在这个错误也是因为显然IE8不支持"indexOf"。
经过大量搜索,我尝试在脚本顶部添加一些代码,以充当此方法的"polyfil":
if (!Array.prototype.indexOf){
Array.prototype.indexOf = function(elt /*, from*/){
var len = this.length >>> 0;
var from = Number(arguments[1]) || 0;
from = (from < 0)? Math.ceil(from) : Math.floor(from);
if (from < 0){
from += len;
for (; from < len; from++){
if (from in this && this[from] === elt){
return from;
}
return -1;
};
}
}
}
但仍然没有快乐。
我现在已经过了沮丧的地步,真的想不出任何其他方法来让这件简单的事情发挥作用。
有人能阐明这一点吗?或者能想出一种替代方法,以跨浏览器的方式将字符串安全地拆分为数组吗?这必须很简单,但我现在无法直接思考。
谢谢大家!
看看这里的
http://jsfiddle.net/mplungjan/Bnx6m/
var stringItemsPlanner = "Hello this___is a string___which___needs splitting into___an array";
var arrItemsPlanner = (stringItemsPlanner.length==0 || stringItemsPlanner.indexOf('___') == -1)? []:stringItemsPlanner.split('___');
alert(arrItemsPlanner.join(''n'))
相关文章:
- 将字符串拆分为数组时出现JavaScript错误
- 如何将字符串拆分为字符,但在javascript中保留空格
- 将字符串拆分为;只要它's不在»«
- 如何将以下字符串拆分为二维数组:
- 将javascript中的字符串拆分为一个数组
- 这个字符串拆分器可以重构或改进吗
- Regex将字符串拆分为大小适中的块
- 将字符串拆分为具有固定字符数的数组
- 将字符串拆分为数组
- 如何在没有javascript中的split函数的情况下将字符串拆分为单词
- 字符串拆分并获取第一次和最后一次出现
- node.js将接收到的字符串拆分为不同的变量,然后格式化为json字符串
- 如何将复杂的字符串拆分为多个部分
- 将字符串拆分为多维数组
- 将逗号分隔的字符串拆分为单独的字符串
- 如何在 Javascript 中以特定间隔将字符串拆分为数组
- Javascript 字符串拆分
- 使用 jQuery 将长字符串拆分为文本块
- 在javascript中将字符串拆分为句子
- 在将字符串拆分为硒时获取空输出