Mar*_*per 3 javascript string-parsing
我怎么能用逗号(,)以某种方式分割/分离我的JavaScript变量.
然后检查是否value-of-any-of-the-separated-strings = "something"
例如,我的变量有值1,2,3,4,5,6,7,8,9,10,2212312,我想检查是否有任何数字= 7在IF语句中.
有没有人有任何想法如何做到这一点?
Ian*_*Ian 14
首先,将字符串拆分",".然后,indexOf在split-string数组上使用以查看是否找到目标字符串(-1表示在数组中找不到它).例如:
var str = "1,2,3,4,5,6,7,8,9,10,10,2212312";
var split_str = str.split(",");
if (split_str.indexOf("7") !== -1) {
// Original string contains 7
}
Run Code Online (Sandbox Code Playgroud)
参考文献:
String.prototype.split- https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/splitArray.prototype.indexOf- https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/indexOf这是一个简单的应用程序Array.prototype.some:
var yourVar = '1,2,3,4,5,6,7,8,9,10,2212312';
function isSeven(val) {
return val === '7';
}
if (yourVar.split(',').some(isSeven)) {
//do stuff
}
Run Code Online (Sandbox Code Playgroud)
另一种常见的写法是:
if (~yourVar.split(',').indexOf('7')) {
//do stuff
}
Run Code Online (Sandbox Code Playgroud)
或者如果Array.prototype.contains已经定义:
if (yourVar.split(',').contains('7')) {
//do stuff
}
Run Code Online (Sandbox Code Playgroud)
或者,如果您想使用正则表达式:
if (/(?:^|,)7(?:,|$)/.test(yourVar)) {
//do stuff
}
Run Code Online (Sandbox Code Playgroud)
注意: Array.prototype.some,Array.prototype.indexOf并且Array.prototype.contains都需要 polyfills 才能跨浏览器正常工作。
| 归档时间: |
|
| 查看次数: |
22057 次 |
| 最近记录: |