如何将一个String和多个String值进行比较思路分析_javascript技巧
开发中我们经常需要将一个String和多个String值进行比较。直觉反应是使用||符号连接多个===完成,比如:
if (string === 'banana' || string === 'pineapple') {
fruitColor = 'yellow';
}
这样能够很好的完成需求,但总觉得有点笨,并且对扩展不友好,当我们的水果种类变多时:
if (string === 'banana' || string === 'pineapple' || string === 'mongo' || string === 'lemon') {
fruitColor = 'yellow';
}
上面的代码看起来就不那么好看了,让我们看看有什么其他方式能够处理这种需求。
Switch
switch(string) {
case 'banana':
case 'pineapple':
case 'mongo':
case 'lemon':
fruitColor = 'yellow';
}
这看起来不错,但是总是要多打些字,对于不喜欢多打字的人来说不是个好方法。
Array
if (['banana', 'pineapple', 'mongo', 'lemon'].indexOf(string) >= 0) {
fruitColor = 'yellow';
}
这下好多了,但还有个问题,IE9以下的IE浏览器并不支持indexOf方法,如果你要在IEjQuery
jQuery提供了一个inArray方法
if ($.inArray(['banana', 'pineapple', 'mongo', 'lemon'], string) >= 0) {
fruitColor = 'yellow';
}
Underscore
Underscore提供了一个contains方法
if (_.contains(['banana', 'pineapple', 'mongo', 'lemon'], string)) {
fruitColor = 'yellow';
}
正则表达式
当然,我们还有终极武器——正则表达式
if (/^(banana|pineapple|mongo|lemon)$/.test(string)) {
fruitColor = 'yellow';
}

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Bagaimana untuk mendayakan fungsi nfc pada Xiaomi Mi 14 Pro?

Bagaimana untuk menggunakan TikTok pada Huawei Pocket2 dari jauh?

Bagaimana untuk menetapkan jarak baris dalam WPS Word untuk menjadikan dokumen lebih kemas

Lukisan CAD iPhone 16 Pro terdedah, menambah butang baharu kedua

Bagaimana untuk menetapkan nada dering tersuai untuk Redmi K70E?

Perbezaan dan analisis perbandingan antara bahasa C dan PHP

Bagaimana untuk menggunakan pengembangan imej pintar Xiaomi Mi 14 Ultra AI?

Perbandingan dan analisis kelebihan dan kekurangan versi PHP7.2 dan 5
