2

从 Json 文件中,我得到元素(th),它们可以是单个对象,也可以是具有多个对象的数组。在第一种情况下,我想将其转换为具有一个元素的数组,因为我想以相同的方式处理这两种情况。我做了:

if( Object.prototype.toString.apply(th) !== '[object Array]' ) {
    var th1 = th;
    th = new Array();
    th[0] = th1;
}

这似乎有效,但看起来有点复杂。有更短的解决方案吗?

4

1 回答 1

3

是的你可以。诀窍是:

var CurrentlyNotAnArrayButGoingtoBe=[CurrentlyNotAnArrayButGoingtoBe];

所以 :

if( Object.prototype.toString.apply(th) !== '[object Array]' ) {
     th = [th];

}

还要注意

th = new Array(th);不安全

有人可以这样做:

Array = {}你去那里时例外th = new Array(th)

于 2013-11-03T12:45:37.640 回答