JavaScript的数组方法一种都不是很熟悉,比较熟悉的也就map()和forEach()等方法,很多时候这两方法都能满足我在公司的大部分需求,故而其他方法也就不是。
背景:昨天有一个需求,是table表格中某一列只要有数据,table外的按钮就无法点击。
一开始我是打算用forEach来做,只要某一项不为空我就返回true,但不知为何,测试的时候一直有问题。
后来打开w3school的文档查看JavaScript的数组方法,因为我依稀记得有一个数组方法好像就是对每项进行验证,然后看到了every().
利用every()我成功的解决了问题,但由于我的判断条件是为空,全部为空就返回true,所以最后还得取反。
这里的处理我觉得并不是太好,因为还有取反的操作。后来查阅文档有看到了some()方法,这个方法和every()是一样的作用,不同的是some()只要找到一个条件为真的就返回true,不会进行后续检测。
因此some()方法在这里最符合我的需求,只需要某一项不为空就返回true。