相关疑难解决方法(0)

javascript - 从.split()生成的Google Chrome混乱数组

给出以下字符串:

var str = "one,two,three";
Run Code Online (Sandbox Code Playgroud)

如果我在逗号上拆分字符串,我通常会得到一个数组,如预期的那样:

var arr = str.split(/\s*,\s*/);
Run Code Online (Sandbox Code Playgroud)

麻烦的是,在Google Chrome(适用于Mac)中,它会向阵列添加额外的属性.

Chrome调试器的输出:

arr: Array
    0: one
    1: two
    2: three
    constructor: function Array()
    index: undefined
    input: undefined
    length: 3
Run Code Online (Sandbox Code Playgroud)

因此,如果我使用循环遍历数组for/in,它将迭代新属性.特别是inputindex属性.使用hasOwnProperty似乎没有帮助.

修复方法是for根据数组的长度进行循环.我仍然想知道是否有人深入了解Chrome的行为方式.Firefox和Safari没有这个问题.

javascript arrays split google-chrome properties

4
推荐指数
1
解决办法
1680
查看次数

标签 统计

arrays ×1

google-chrome ×1

javascript ×1

properties ×1

split ×1