作者:Samantha Ming 译者:前端小智 来源:medium
点赞再看,微信搜索 【大迁世界】 关注这个没有大厂背景,但有着一股向上积极心态人。本文 GitHub
https://github.com/qq449245884/xiaozhi 上已经收录,文章的已分类,也整理了很多我的文档,和教程资料。
下面的代码片段用于检查变量或值是否为数组。 在主流的浏览器可以使用Array.isArray
方法。 对于较旧的浏览器,可以使用polyfill
👍
const variable = ['🍝', '🍜', '🍲'];
// 主流浏览器
Array.isArray(variable);
// 老式浏览器
Object.prototype.toString.call(variable) === '[object Array]';
检查数组的现代方法
检查数组的最佳方法是使用内置的Array.isArray()
👏
Array.isArray([]); // true
Array.isArray(['🍝']); // true
Array.isArray(new Array('🍝')); // true
浏览器支持
浏览器对 Array.isArray()
的支持非常好 👍
如果需要让较早的浏览器支持,则可以使用此MDN polyfill。
if (!Array.isArray) {
Array.isArray = function(org) {
return Object.prototype.toString.call(org) === '[object Array]'
}
}
其它方式:使用 Lodash 或 Underscore
如果你使用的是外部库,它们也有一些内置方法👏
Lodash检查值是否为数组对象。
const array = ['🍝', '🍜', '🍲'];
const notArray = 'not array';
_.isArray(array); // true
_.isArray(notArray); // false
Underscore
如果对象是数组,返回 true。
const array = ['🍝', '🍜', '🍲'];
const notArray = 'not array';
_.isArray(array); // true
_.isArray(notArray); // false
为什么我们不能使用typeof?
通常,我们要检查值的类型,我们只需使用 typeof
typeof 'string'; // 'string'
typeof 100; // 'number'
typeof true; // 'boolean'
typeof false; // 'boolean'
typeof function() {}; // 'function'
typeof {}; // 'object'
typeof []; // 'object'
关注
打赏
最近更新
- 深拷贝和浅拷贝的区别(重点)
- 【Vue】走进Vue框架世界
- 【云服务器】项目部署—搭建网站—vue电商后台管理系统
- 【React介绍】 一文带你深入React
- 【React】React组件实例的三大属性之state,props,refs(你学废了吗)
- 【脚手架VueCLI】从零开始,创建一个VUE项目
- 【React】深入理解React组件生命周期----图文详解(含代码)
- 【React】DOM的Diffing算法是什么?以及DOM中key的作用----经典面试题
- 【React】1_使用React脚手架创建项目步骤--------详解(含项目结构说明)
- 【React】2_如何使用react脚手架写一个简单的页面?