简单的string拆分是返回对象而不是数组
我正在尝试一个简单的string拆分在NodeJS,但它是返回一个对象,而不是数组。
var mytext = "a,b,c,d,e,f,g,h,i,j,k"; var arr = mytext.split(","); console.log(typeof mytext); <======= output string console.log(typeof arr); <======= output object
jsfiddle: http : //jsfiddle.net/f4NnQ/
为什么?
String.prototype.split
的输出是一个数组,这是一个对象。
console.log(typeof []); // object
你可以确认返回的对象是一个数组,像这样
console.log(Object.prototype.toString.call(arr)); // [object Array] console.log(arr); // [ 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k' ]
从String.prototype.split
的MDN文档引用,
split()方法通过将string分隔成子string ,将string对象分割成string数组 。
数组是javascript中的对象。
如果你想检查它是否是一个数组 –
你可以做 –
Array.isArray(arr)
一个数组是一个对象。
在这里阅读关于typeof
结果
如果你输出为
console.log(arr);
你会看到一个数组
拆分方法总是返回一个数组。 数组是javascript中的一个对象。 如果你想检查它是否是一个数组,使用Array.isArray(arr)
var mytext = "a,b,c,d,e,f,g,h,i,j,k"; var arr = mytext.split(","); console.log(typeof mytext); <======= output string console.log(arr); `this will return object` for(i=0;i<=10; i++){ console.log(arr[i]); }