我有这个数组
let arr = [ 'file_1.jpg' , 'file_2.png', 'file_3.pdf', 'file_4.html', 'folder.db' ]
我想过滤上有.jpg和.png的文件。
arr.filter() // desired output: [ 'file_1.png','file_2.png' ]
答案 0 :(得分:3)
arr.filter(link => link.endsWith(".png") || link.endsWith(".jpg"));
答案 1 :(得分:2)
使用RegExp过滤:
const arr = [ 'file_1.jpg' , 'file_2.png', 'file_3.pdf', 'file_4.html', 'folder.db' ];
const pattern = /\.(png|jpg)$/; // string should end with .png or .jpg
const result = arr.filter((name) => pattern.test(name));
console.log(result);

答案 2 :(得分:1)
const result = arr.filter( link => link.endsWith(".png") || link.endsWith(".jpg"));
答案 3 :(得分:0)
filter函数接受一个回调函数,该函数为列表中的每个项返回一个布尔值。
因此,您可以创建使用City::with('state')->where('state_id',$id);
的{{1}}来检查function
是regular expression
还是string
。
png
jpg
//
并使用管道/\./
分隔选项:()
(|)
来检查这是否是文字的结尾:/\.(jpg|png)/
然后使用test function,您可以检查字符串是否与您的表达式匹配。
$
/\.(jpg|png)$/