Javascript中,Array.isArray()判断问题

有以下数据:

[{"children":[{"id":886,"name":"new subcategory1"},{"id":887,"name":"new subcategory2"}],"id":885,"name":"new main category1","shopId":125},{"children":[{"id":889,"name":"new subcategory3"},{"id":890,"name":"new subcategory4"}],"id":888,"name":"new main category2","shopId":125},{"children":[{"id":892,"name":"new subcategory5"},{"id":893,"name":"new subcategory6"}],"id":891,"name":"new main category3","shopId":125},{"children":[{"id":895,"name":"new subcategory7"},{"id":896,"name":"new subcategory8"}],"id":894,"name":"new main category4","shopId":125},{"children":[{"id":898,"name":"new subcategory9"},{"id":899,"name":"new subcategory10"}],"id":897,"name":"new main category5","shopId":125}]

然后我使用Arrays.isArray()判断,结果是false,应该返回true才对啊

阅读 3.6k
4 个回答

你的结果是字符串把,用typeof 看看类型

Array.isArray([{"children":[{"id":886,"name":"new subcategory1"},{"id":887,"name":"new subcategory2"}],"id":885,"name":"new main category1","shopId":125},{"children":[{"id":889,"name":"new subcategory3"},{"id":890,"name":"new subcategory4"}],"id":888,"name":"new main category2","shopId":125},{"children":[{"id":892,"name":"new subcategory5"},{"id":893,"name":"new subcategory6"}],"id":891,"name":"new main category3","shopId":125},{"children":[{"id":895,"name":"new subcategory7"},{"id":896,"name":"new subcategory8"}],"id":894,"name":"new main category4","shopId":125},{"children":[{"id":898,"name":"new subcategory9"},{"id":899,"name":"new subcategory10"}],"id":897,"name":"new main category5","shopId":125}])

是 true 啊

Array.isArray(2) //false
Array.isArray([]) //true

//判断一个对象是否为数组

function isArray(obj) {
    return Object.prototype.toString.call(obj) == "[object Array]";
}
isArray([])    //true
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题