使用 startsWith() 判斷是否以特定 String 開始
栏目: JavaScript · 发布时间: 5年前
内容简介:實務上常須判斷 String 是否以特定 String 開始,這種常見的需求,該如何實現呢 ?macOS Mojave 10.14.5VS Code 1.35.1
實務上常須判斷 String 是否以特定 String 開始,這種常見的需求,該如何實現呢 ?
Version
macOS Mojave 10.14.5
VS Code 1.35.1
Quokka 1.0.233
Ramda 0.26.1
ECMAScript 5
let data = 'FP in JavaScript'; // startWith :: String -> String -> Boolean let startsWith = search => str => str.substring(0, search.length) === search; startsWith('FP')(data); // ?
最直覺的方式是透過內建的 String.prototype.substring()
取得部分 string 比較。
let data = 'FP in JavaScript'; // startWith :: String -> String -> Boolean let startsWith = search => str => str.slice(0, search.length) === search; startsWith('FP')(data); // ?
也可以透過 String.prototype.slice()
回傳部分 string 比較。
Regular Expression
let data = 'FP in JavaScript'; // startWith :: String -> String -> Boolean let startsWith = search => str => new RegExp(`^${search}`).test(str); startsWith('FP')(data); // ?
當然也可以透過 RegExp
。
ECMAScript 2015
let data = 'FP in JavaScript'; // startWith :: String -> String -> Boolean let startsWith = search => str => str.startsWith(search); startsWith('FP')(data); // ?
ES6 新增了 String.prototype.startsWith()
,可直接進行比較,語意更佳。
Ramda
import { startsWith } from 'ramda'; let data = 'FP in JavaScript'; startsWith('FP')(data); // ?
事實上 Ramda 已經內建 startsWith()
,可直接使用。
startsWith()
String → String → Boolean
判斷 string 是否包含特定 string
String
:要判斷的特定 string
String
:data 為 string
Boolean
:回傳判斷結果
Array
import { startsWith } from 'ramda'; let data = [1, 2, 3]; startsWith([1, 2])(data); // ?
startsWith()
不只能用在 string,也能用在 array。
startsWith()
[a] → [a] → Boolean
判斷 array 是否包含特定 array
Object
import { startsWith } from 'ramda'; let data = [ { title: 'FP in JavaScript', price: 300 }, { title: 'RxJS in Action', price: 400 }, { title: 'Speaking JavaScript', price: 200 } ]; let searchArr = [ { title: 'FP in JavaScript', price: 300 }, { title: 'RxJS in Action', price: 400 }, ]; startsWith(searchArr)(data); // ?
startsWith()
也能用在 object。
Conclusion
-
startsWith()
大都用在 string,雖然也能用在 array - ES6 的
startsWith()
與 Ramda 的startsWith()
功能相同,只是 ES6 為 OOP 風格,而 Ramda 為 FP 風格
Reference
Samantha Ming , String startsWith() Method in JavaScript
MDN , String.prototype.substring()
MDN , String.prototype.slice()
以上所述就是小编给大家介绍的《使用 startsWith() 判斷是否以特定 String 開始》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:- Delphi:检查文件是否正在使用中
- 使用 endsWith() 判斷是否以特定 String 結束
- 如何使用XposedOrNot来判断自己的密码是否泄露
- SpringBoot系列之使用自定义注解校验用户是否登录
- c# – 使用ConcurrentBag作为ConcurrentDictionary的对象是否正确
- 最简洁的方法是使用Java比较三个对象是否相等?
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Cascading Style Sheets 2.0 Programmer's Reference
Eric A. Meyer / McGraw-Hill Osborne Media / 2001-03-20 / USD 19.99
The most authoritative quick reference available for CSS programmers. This handy resource gives you programming essentials at your fingertips, including all the new tags and features in CSS 2.0. You'l......一起来看看 《Cascading Style Sheets 2.0 Programmer's Reference》 这本书的介绍吧!