Tôi đang sử dụng JavaScript cơ bản để đếm số nguyên âm trong một chuỗi. Mã dưới đây hoạt động nhưng tôi muốn làm sạch nó một chút. Liệu sử dụng
const countVowels = str => Array.from[str]
.filter[letter => 'aeiou'.includes[letter]].length;
console.log[countVowels['abcdefghijklmnopqrstuvwxyz']]; // 5
console.log[countVowels['test']]; // 1
console.log[countVowels['ddd']]; // 0
9 trợ giúp tất cả khi xem xét nó là một chuỗi? Tôi muốn sử dụng một cái gì đó như function countVowels[subject] {
return subject.match[/[aeiou]/gi].length;
}
0 nếu có thể làm sạch tuyên bố có điều kiện. Ngoài ra, nó có cần thiết để chuyển đổi đầu vào thành một chuỗi không?function getVowels[str] {
var vowelsCount = 0;
//turn the input into a string
var string = str.toString[];
//loop through the string
for [var i = 0; i Array.from[str]
.filter[letter => 'aeiou'.includes[letter]].length;
console.log[countVowels['abcdefghijklmnopqrstuvwxyz']]; // 5
console.log[countVowels['test']]; // 1
console.log[countVowels['ddd']]; // 0
Đã trả lời ngày 22 tháng 11 năm 2016 lúc 13:11Nov 22, 2016 at 13:11
1
function countVowels[subject] {
return subject.match[/[aeiou]/gi].length;
}
Bạn không cần phải chuyển đổi bất cứ điều gì, việc xử lý lỗi của JavaScript là đủ để gợi ý cho bạn về một chức năng đơn giản như vậy nếu nó sẽ là cần thiết.
Đã trả lời ngày 4 tháng 4 năm 2015 lúc 19:18Apr 4, 2015 at 19:18
Sudosudosudo
3431 Huy hiệu bạc11 Huy hiệu đồng1 silver badge11 bronze badges
2
Short và ES6, bạn có thể sử dụng số lượng hàm [STR];
const count = str => [str.match[/[aeiou]/gi] || []].length;
Đã trả lời ngày 24 tháng 12 năm 2018 lúc 17:56Dec 24, 2018 at 17:56
SumersumerSumer
2.53621 Huy hiệu bạc22 Huy hiệu đồng21 silver badges22 bronze badges
Điều này cũng có thể được giải quyết bằng phương thức .replace [] bằng cách thay thế bất cứ thứ gì không phải là nguyên âm bằng một chuỗi trống [về cơ bản, nó sẽ xóa các ký tự đó] và trả về độ dài chuỗi mới:
function vowelCount[str] {
return str.replace[/[^aeiou]/gi, ""].length;
};
hoặc nếu bạn thích ES6
const vowelCount = [str] => [ str.replace[/[^aeiou]/gi,""].length ]
Đã trả lời ngày 6 tháng 12 năm 2017 lúc 21:12Dec 6, 2017 at 21:12
IuliusiuliusIulius
6584 Huy hiệu bạc14 Huy hiệu đồng4 silver badges14 bronze badges
Bạn có thể sử dụng hàm bao gồm đơn giản, trả về true nếu mảng đã cho chứa ký tự đã cho và sai nếu không.
Lưu ý: Phương thức bao gồm [] là trường hợp nhạy cảm. Vì vậy, trước khi so sánh một ký tự, chuyển đổi nó thành chữ thường để tránh bỏ lỡ tất cả các trường hợp có thể.
for [var i = 0; i [...string].filter[c => 'aeiou'.includes[c.toLowerCase[]]].length;
console.log[vowel_count['aaaa']]; // 4
console.log[vowel_count['AAAA']]; // 4
console.log[vowel_count['foo BAR baz QUX']]; // 5
console.log[vowel_count['Hello, world!']]; // 3
Đã trả lời ngày 20 tháng 11 năm 2018 lúc 6:24Nov 20, 2018 at 6:24
Grant Millergrant MillerGrant Miller
25.6K16 Huy hiệu vàng138 Huy hiệu bạc155 Huy hiệu đồng16 gold badges138 silver badges155 bronze badges
Sử dụng chức năng này để có được số lượng nguyên âm trong một chuỗi. Hoạt động khá tốt.
function getVowelsCount[str]
{
//splits the vowels string into an array => ['a','e','i','o','u','A'...]
let arr_vowel_list = 'aeiouAEIOU'.split[''];
let count = 0;
/*for each of the elements of the splitted string[i.e. str], the vowels list would check
for any occurence and increments the count, if present*/
str.split[''].forEach[function[e]{
if[arr_vowel_list.indexOf[e] !== -1]{
count++;} }];
//and now log this count
console.log[count];}
//Function Call
getVowelsCount["World Of Programming"];
Đầu ra cho chuỗi đã cho sẽ là 5. Hãy thử điều này.
//Mã số -
function getVowels[str] {
var m = str.match[/[aeiou]/gi];
return m === null ? 0 : m.length;
}
0Đã trả lời ngày 25 tháng 10 năm 2019 lúc 1:35Oct 25, 2019 at 1:35
1
Sử dụng
function countVowels[subject] {
return subject.match[/[aeiou]/gi].length;
}
9 nhưng hãy cẩn thận vì nó có thể trả lại một null nếu không tìm thấy trận đấu. Điều này giải quyết nó:null if no match is found. This solves it:function getVowels[str] {
var m = str.match[/[aeiou]/gi];
return m === null ? 0 : m.length;
}
1Đã trả lời ngày 22 tháng 2 năm 2017 lúc 9:41Feb 22, 2017 at 9:41
Radu Chiriacradu ChiriacRadu Chiriac
1.3462 Huy hiệu vàng17 Huy hiệu bạc32 Huy hiệu đồng2 gold badges17 silver badges32 bronze badges
function getVowels[str] {
var m = str.match[/[aeiou]/gi];
return m === null ? 0 : m.length;
}
2function getVowels[str] {
var m = str.match[/[aeiou]/gi];
return m === null ? 0 : m.length;
}
3Đã trả lời ngày 14 tháng 10 năm 2017 lúc 3:17Oct 14, 2017 at 3:17
Prateek Gprateek gPrateek G
711 Huy hiệu bạc1 Huy hiệu đồng1 silver badge1 bronze badge
Đây là giải pháp ngắn nhất
function getVowels[str] {
var m = str.match[/[aeiou]/gi];
return m === null ? 0 : m.length;
}
4Đã trả lời ngày 14 tháng 3 năm 2018 lúc 7:43Mar 14, 2018 at 7:43
Akash Moreakash nhiều hơnAkash More
621 Huy hiệu bạc9 Huy hiệu đồng1 silver badge9 bronze badges
function getVowels[str] {
var m = str.match[/[aeiou]/gi];
return m === null ? 0 : m.length;
}
5Đã trả lời ngày 24 tháng 8 năm 2018 lúc 23:42Aug 24, 2018 at 23:42
function getVowels[str] {
var m = str.match[/[aeiou]/gi];
return m === null ? 0 : m.length;
}
6Đã trả lời ngày 11 tháng 3 năm 2019 lúc 0:49Mar 11, 2019 at 0:49
Ashish Rashish rASHISH R
3,8051 Huy hiệu vàng19 Huy hiệu bạc15 Huy hiệu đồng1 gold badge19 silver badges15 bronze badges
Vì việc giới thiệu foreach trong ES5, điều này có thể đạt được theo cách tiếp cận chức năng, theo cách nhỏ gọn hơn, và cũng có số lượng cho mỗi nguyên âm và lưu trữ được tính trong một đối tượng.
function getVowels[str] {
var m = str.match[/[aeiou]/gi];
return m === null ? 0 : m.length;
}
7Đã trả lời ngày 8 tháng 6 năm 2019 lúc 16:42Jun 8, 2019 at 16:42
Giải pháp của tôi:
function getVowels[str] {
var m = str.match[/[aeiou]/gi];
return m === null ? 0 : m.length;
}
8Đầu ra: 12
Đã trả lời ngày 25 tháng 4 năm 2021 lúc 9:51Apr 25, 2021 at 9:51
Bạn có thể dễ dàng giải quyết điều này bằng cách sử dụng Regex đơn giản. Phương thức match [] khớp với chuỗi một lần nữa một biến regex. Trả về một mảng nếu là một trận đấu và trả về null nếu không tìm thấy trận đấu.
function getVowels[str] {
var m = str.match[/[aeiou]/gi];
return m === null ? 0 : m.length;
}
9Đã trả lời ngày 17 tháng 2 lúc 9:20Feb 17 at 9:20
Chỉ cần sử dụng chức năng này [cho ES5]:
const countVowels = str => Array.from[str]
.filter[letter => 'aeiou'.includes[letter]].length;
console.log[countVowels['abcdefghijklmnopqrstuvwxyz']]; // 5
console.log[countVowels['test']]; // 1
console.log[countVowels['ddd']]; // 0
0Sẽ hoạt động như một sự quyến rũ
Đã trả lời ngày 1 tháng 6 năm 2017 lúc 18:58Jun 1, 2017 at 18:58
const countVowels = str => Array.from[str]
.filter[letter => 'aeiou'.includes[letter]].length;
console.log[countVowels['abcdefghijklmnopqrstuvwxyz']]; // 5
console.log[countVowels['test']]; // 1
console.log[countVowels['ddd']]; // 0
1Đã trả lời ngày 3 tháng 8 năm 2019 lúc 7:29Aug 3, 2019 at 7:29
Các tác phẩm sau đây và ngắn:
const countVowels = str => Array.from[str]
.filter[letter => 'aeiou'.includes[letter]].length;
console.log[countVowels['abcdefghijklmnopqrstuvwxyz']]; // 5
console.log[countVowels['test']]; // 1
console.log[countVowels['ddd']]; // 0
2Đã trả lời ngày 19 tháng 4 năm 2020 lúc 22:43Apr 19, 2020 at 22:43
Mohsen Alyafeimohsen AlyafeiMohsen Alyafei
4.1663 Huy hiệu vàng22 Huy hiệu bạc39 Huy hiệu Đồng3 gold badges22 silver badges39 bronze badges
Thêm một phương thức [sử dụng
const count = str => [str.match[/[aeiou]/gi] || []].length;
0]:const countVowels = str => Array.from[str]
.filter[letter => 'aeiou'.includes[letter]].length;
console.log[countVowels['abcdefghijklmnopqrstuvwxyz']]; // 5
console.log[countVowels['test']]; // 1
console.log[countVowels['ddd']]; // 0
3Đã trả lời ngày 7 tháng 12 năm 2020 lúc 11:12Dec 7, 2020 at 11:12
mengmengmeng
411 Huy hiệu bạc4 Huy hiệu đồng1 silver badge4 bronze badges
Đây là giải pháp của tôi cho vấn đề:
const countVowels = str => Array.from[str]
.filter[letter => 'aeiou'.includes[letter]].length;
console.log[countVowels['abcdefghijklmnopqrstuvwxyz']]; // 5
console.log[countVowels['test']]; // 1
console.log[countVowels['ddd']]; // 0
4Đã trả lời ngày 25 tháng 8 năm 2021 lúc 6:08Aug 25, 2021 at 6:08
Sau khi nghiên cứu và không sử dụng Regex, đây là những gì tôi tìm thấy đơn giản nhất để hiểu cho các nhà phát triển mới như tôi.
const countVowels = str => Array.from[str]
.filter[letter => 'aeiou'.includes[letter]].length;
console.log[countVowels['abcdefghijklmnopqrstuvwxyz']]; // 5
console.log[countVowels['test']]; // 1
console.log[countVowels['ddd']]; // 0
5
Đã trả lời ngày 15 tháng 1 lúc 4:55Jan 15 at 4:55
1
const countVowels = str => Array.from[str]
.filter[letter => 'aeiou'.includes[letter]].length;
console.log[countVowels['abcdefghijklmnopqrstuvwxyz']]; // 5
console.log[countVowels['test']]; // 1
console.log[countVowels['ddd']]; // 0
6Đã trả lời ngày 21 tháng 10 lúc 7:56Oct 21 at 7:56
Một giải pháp khác sử dụng
const count = str => [str.match[/[aeiou]/gi] || []].length;
1 để tra cứu các ký tự trong thời gian không đổi và const count = str => [str.match[/[aeiou]/gi] || []].length;
2 để thực hiện đếm thực tế. Việc triển khai cũng sử dụng cú pháp lan truyền cho const count = str => [str.match[/[aeiou]/gi] || []].length;
3 vì các chuỗi là const count = str => [str.match[/[aeiou]/gi] || []].length;
4.const countVowels = str => Array.from[str]
.filter[letter => 'aeiou'.includes[letter]].length;
console.log[countVowels['abcdefghijklmnopqrstuvwxyz']]; // 5
console.log[countVowels['test']]; // 1
console.log[countVowels['ddd']]; // 0
7const countVowels = str => Array.from[str]
.filter[letter => 'aeiou'.includes[letter]].length;
console.log[countVowels['abcdefghijklmnopqrstuvwxyz']]; // 5
console.log[countVowels['test']]; // 1
console.log[countVowels['ddd']]; // 0
8Đã trả lời ngày 28 tháng 5 lúc 0:06May 28 at 0:06
Nước nấmMushroomator
4.5821 Huy hiệu vàng5 Huy hiệu bạc21 Huy hiệu đồng1 gold badge5 silver badges21 bronze badges