Hướng dẫn javascript sum numbers in string - javascript tổng số trong chuỗi

Tôi mới sử dụng mã hóa và đã được đưa ra câu hỏi này;

Tạo một hàm có một chuỗi với một mớ bòng bong và số. Nó sẽ thêm tất cả các số xuất hiện trong chuỗi và trả về tổng số.

   E.g. 'foo5bar6cat1' => 12
   'foo99cat' => 18

Mẹo: Đối với cái này, có thể hữu ích khi biết rằng giá trị

function sumDigitsFromString[str] {
let nums = []
let sum = 0

for [let i = 0; i < str.length; i++] {
if [typeOf [arr[i]] === "number"] {
 nums.push[str[i]]
    }
}
 for [let i = 0; i < nums.length; i++]{
sum.push[nums[i] + sum]
   }
return sum
}
5 trong JavaScript hoạt động kỳ lạ. Ví dụ: nếu bạn làm
function sumDigitsFromString[str] {
let nums = []
let sum = 0

for [let i = 0; i < str.length; i++] {
if [typeOf [arr[i]] === "number"] {
 nums.push[str[i]]
    }
}
 for [let i = 0; i < nums.length; i++]{
sum.push[nums[i] + sum]
   }
return sum
}
6, nó sẽ cho bạn biết đó là
function sumDigitsFromString[str] {
let nums = []
let sum = 0

for [let i = 0; i < str.length; i++] {
if [typeOf [arr[i]] === "number"] {
 nums.push[str[i]]
    }
}
 for [let i = 0; i < nums.length; i++]{
sum.push[nums[i] + sum]
   }
return sum
}
7. Odd, hả?

Mã mà tôi đã viết là thế này;

function sumDigitsFromString[str] {
let nums = []
let sum = 0

for [let i = 0; i < str.length; i++] {
if [typeOf [arr[i]] === "number"] {
 nums.push[str[i]]
    }
}
 for [let i = 0; i < nums.length; i++]{
sum.push[nums[i] + sum]
   }
return sum
}

Bài kiểm tra mà mã của tôi đang được chạy là điều này;

describe["sumDigitsFromString", [] => {
   it["picks out a digit from a string and returns", [] => {
expect[sumDigitsFromString["foo5foo"]].to.equal[5];
   }];
     it["sums multiple digits from a string", [] => {
expect[sumDigitsFromString["5foo5foo"]].to.equal[10];
    }];
it["returns a seum of several digits in a string", [] => {
         expect[sumDigitsFromString["hello1world5this3is2a2string"]].to.equal[13].;
   }];
}];

Liều lượng ai có bất kỳ đề xuất về cách sửa mã của tôi?

Tính tổng số các số nhận được trong một chuỗi phân loại bằng dấu phẩy.

Ảnh của Ashkan forouzani trên unplash

Chúng tôi sẽ viết một hàm gọi là

function sumDigitsFromString[str] {
let nums = []
let sum = 0

for [let i = 0; i < str.length; i++] {
if [typeOf [arr[i]] === "number"] {
 nums.push[str[i]]
    }
}
 for [let i = 0; i < nums.length; i++]{
sum.push[nums[i] + sum]
   }
return sum
}
8 sẽ chấp nhận một chuỗi,
function sumDigitsFromString[str] {
let nums = []
let sum = 0

for [let i = 0; i < str.length; i++] {
if [typeOf [arr[i]] === "number"] {
 nums.push[str[i]]
    }
}
 for [let i = 0; i < nums.length; i++]{
sum.push[nums[i] + sum]
   }
return sum
}
9, như một đối số. Chuỗi này sẽ chứa sự kết hợp của số nguyên và phao được phân tách bằng dấu phẩy.

Mục tiêu của hàm là tính tổng của tất cả các số trong chuỗi.

Example:

sumStr["1.5, 2.3, 3.1, 4, 5.5, 6, 7, 8, 9, 10.9"];//output: 57.3

Trước khi chúng tôi làm bất cứ điều gì với các số trong chuỗi, trước tiên chúng tôi sẽ chia chuỗi tại dấu phẩy và chuyển đổi nó thành một mảng. Chúng tôi gán mảng đó cho một biến gọi là

describe["sumDigitsFromString", [] => {
   it["picks out a digit from a string and returns", [] => {
expect[sumDigitsFromString["foo5foo"]].to.equal[5];
   }];
     it["sums multiple digits from a string", [] => {
expect[sumDigitsFromString["5foo5foo"]].to.equal[10];
    }];
it["returns a seum of several digits in a string", [] => {
         expect[sumDigitsFromString["hello1world5this3is2a2string"]].to.equal[13].;
   }];
}];
0.

let strArr = str.split[","];

Tiếp theo, chúng tôi sẽ sử dụng phương thức

describe["sumDigitsFromString", [] => {
   it["picks out a digit from a string and returns", [] => {
expect[sumDigitsFromString["foo5foo"]].to.equal[5];
   }];
     it["sums multiple digits from a string", [] => {
expect[sumDigitsFromString["5foo5foo"]].to.equal[10];
    }];
it["returns a seum of several digits in a string", [] => {
         expect[sumDigitsFromString["hello1world5this3is2a2string"]].to.equal[13].;
   }];
}];
1 để tính tổng của tất cả các số trong mảng. Vì các số ban đầu là chuỗi, chúng tôi cần chuyển đổi mọi thứ thành một số bằng cách sử dụng
describe["sumDigitsFromString", [] => {
   it["picks out a digit from a string and returns", [] => {
expect[sumDigitsFromString["foo5foo"]].to.equal[5];
   }];
     it["sums multiple digits from a string", [] => {
expect[sumDigitsFromString["5foo5foo"]].to.equal[10];
    }];
it["returns a seum of several digits in a string", [] => {
         expect[sumDigitsFromString["hello1world5this3is2a2string"]].to.equal[13].;
   }];
}];
2. Điều này là vì vậy chức năng gọi lại của chúng tôi có thể tính tổng.

Chúng tôi gán tổng số cho một biến gọi là

describe["sumDigitsFromString", [] => {
   it["picks out a digit from a string and returns", [] => {
expect[sumDigitsFromString["foo5foo"]].to.equal[5];
   }];
     it["sums multiple digits from a string", [] => {
expect[sumDigitsFromString["5foo5foo"]].to.equal[10];
    }];
it["returns a seum of several digits in a string", [] => {
         expect[sumDigitsFromString["hello1world5this3is2a2string"]].to.equal[13].;
   }];
}];
3.

let sum = strArr.reduce[function[total, num]{
return parseFloat[total] + parseFloat[num];
}];

Bây giờ chúng tôi có tổng của chúng tôi, chúng tôi có thể trả lại nó.

return sum;

Đây là chức năng đầy đủ:

Nếu bạn thấy thuật toán này hữu ích, hãy xem các bài viết giải pháp thuật toán JavaScript khác của tôi:

Đọc thêm tại Plainenglish.ioplainenglish.io

Thêm chuỗi dưới dạng số trong javascript #

Để thêm chuỗi dưới dạng số:

  1. Chuyển từng chuỗi đến đối tượng
    describe["sumDigitsFromString", [] => {
       it["picks out a digit from a string and returns", [] => {
    expect[sumDigitsFromString["foo5foo"]].to.equal[5];
       }];
         it["sums multiple digits from a string", [] => {
    expect[sumDigitsFromString["5foo5foo"]].to.equal[10];
        }];
    it["returns a seum of several digits in a string", [] => {
             expect[sumDigitsFromString["hello1world5this3is2a2string"]].to.equal[13].;
       }];
    }];
    
    4 để chuyển đổi nó thành một số.
  2. Sử dụng toán tử bổ sung [+], ví dụ:
    describe["sumDigitsFromString", [] => {
       it["picks out a digit from a string and returns", [] => {
    expect[sumDigitsFromString["foo5foo"]].to.equal[5];
       }];
         it["sums multiple digits from a string", [] => {
    expect[sumDigitsFromString["5foo5foo"]].to.equal[10];
        }];
    it["returns a seum of several digits in a string", [] => {
             expect[sumDigitsFromString["hello1world5this3is2a2string"]].to.equal[13].;
       }];
    }];
    
    5.
  3. Toán tử bổ sung sẽ trả về tổng của các số.

Copied!

const str1 = '5'; const str2 = '15'; const result = Number[str1] + Number[str2]; console.log[result]; // 👉️ 20 console.log[typeof result]; // 👉️ number

Chúng tôi đã sử dụng đối tượng số để chuyển đổi hai chuỗi thành số và thêm chúng bằng toán tử bổ sung [+].

Lưu ý rằng tất cả các chuỗi phải được chuyển đổi thành các số trước khi sử dụng toán tử bổ sung [+]. Mặt khác, nó chuyển đổi số thành một chuỗi và nối các chuỗi.

Copied!

console.log[5 + '10']; // 👉️ 510

Bạn có thể sử dụng phương pháp này để thêm nhiều chuỗi làm số.

Copied!

const str1 = '5'; const str2 = '10'; const str3 = '15'; const result = Number[str1] + Number[str2] + Number[str3]; console.log[result]; // 👉️ 30

Một cách rất phổ biến khác để làm điều này là sử dụng toán tử Unary Plus [+].

Thêm chuỗi làm số bằng cách sử dụng unary plus [+] #

Để thêm chuỗi làm số, hãy sử dụng toán tử Unary Plus [+] để chuyển đổi từng chuỗi thành một số và thêm các số bằng toán tử bổ sung [+], ví dụ:

describe["sumDigitsFromString", [] => {
   it["picks out a digit from a string and returns", [] => {
expect[sumDigitsFromString["foo5foo"]].to.equal[5];
   }];
     it["sums multiple digits from a string", [] => {
expect[sumDigitsFromString["5foo5foo"]].to.equal[10];
    }];
it["returns a seum of several digits in a string", [] => {
         expect[sumDigitsFromString["hello1world5this3is2a2string"]].to.equal[13].;
   }];
}];
6

function sumDigitsFromString[str] {
let nums = []
let sum = 0

for [let i = 0; i < str.length; i++] {
if [typeOf [arr[i]] === "number"] {
 nums.push[str[i]]
    }
}
 for [let i = 0; i < nums.length; i++]{
sum.push[nums[i] + sum]
   }
return sum
}
0

Toán tử Unary Plus [+] cố gắng chuyển đổi giá trị thành một số.

Điều này trở nên khó đọc vì chúng ta có 2 toán tử Plus [+] và toán tử bổ sung [+].

Tôi sẽ không khuyên bạn nên sử dụng phương pháp này. Tuy nhiên, nhà điều hành Unary Plus thường được sử dụng bởi các nhà phát triển, vì vậy điều tốt là biết.

Cả hai ví dụ này chuyển đổi chuỗi thành một số. Người ta sử dụng phương pháp Unary Plus [+] và phương pháp khác sử dụng đối tượng

describe["sumDigitsFromString", [] => {
   it["picks out a digit from a string and returns", [] => {
expect[sumDigitsFromString["foo5foo"]].to.equal[5];
   }];
     it["sums multiple digits from a string", [] => {
expect[sumDigitsFromString["5foo5foo"]].to.equal[10];
    }];
it["returns a seum of several digits in a string", [] => {
         expect[sumDigitsFromString["hello1world5this3is2a2string"]].to.equal[13].;
   }];
}];
4.

function sumDigitsFromString[str] {
let nums = []
let sum = 0

for [let i = 0; i < str.length; i++] {
if [typeOf [arr[i]] === "number"] {
 nums.push[str[i]]
    }
}
 for [let i = 0; i < nums.length; i++]{
sum.push[nums[i] + sum]
   }
return sum
}
1

Nếu chuỗi của bạn kết thúc với các ký tự, bạn phải sử dụng phương thức

describe["sumDigitsFromString", [] => {
   it["picks out a digit from a string and returns", [] => {
expect[sumDigitsFromString["foo5foo"]].to.equal[5];
   }];
     it["sums multiple digits from a string", [] => {
expect[sumDigitsFromString["5foo5foo"]].to.equal[10];
    }];
it["returns a seum of several digits in a string", [] => {
         expect[sumDigitsFromString["hello1world5this3is2a2string"]].to.equal[13].;
   }];
}];
8 thay thế.

function sumDigitsFromString[str] {
let nums = []
let sum = 0

for [let i = 0; i < str.length; i++] {
if [typeOf [arr[i]] === "number"] {
 nums.push[str[i]]
    }
}
 for [let i = 0; i < nums.length; i++]{
sum.push[nums[i] + sum]
   }
return sum
}
2

Các chuỗi của chúng tôi kết thúc với các ký tự không phải là số, vì vậy chúng tôi không thể chuyển đổi trực tiếp chúng thành các số.

Thay vào đó, chúng tôi đã sử dụng phương pháp ParseInt.

Phương thức lấy 2 tham số sau:

  1. một chuỗi chúng tôi muốn phân tích cú pháp vào một số
  2. radix - giá trị mặc định không phải là 10, vì vậy chúng tôi phải vượt qua nó một cách rõ ràng

Một cách dễ dàng để suy nghĩ về phương pháp

describe["sumDigitsFromString", [] => {
   it["picks out a digit from a string and returns", [] => {
expect[sumDigitsFromString["foo5foo"]].to.equal[5];
   }];
     it["sums multiple digits from a string", [] => {
expect[sumDigitsFromString["5foo5foo"]].to.equal[10];
    }];
it["returns a seum of several digits in a string", [] => {
         expect[sumDigitsFromString["hello1world5this3is2a2string"]].to.equal[13].;
   }];
}];
8 là - chúng ta lấy càng nhiều chữ số càng tốt từ đầu chuỗi, bỏ qua phần còn lại và chuyển đổi giá trị thành một số.

function sumDigitsFromString[str] {
let nums = []
let sum = 0

for [let i = 0; i < str.length; i++] {
if [typeOf [arr[i]] === "number"] {
 nums.push[str[i]]
    }
}
 for [let i = 0; i < nums.length; i++]{
sum.push[nums[i] + sum]
   }
return sum
}
3

Điều này sẽ không hoạt động nếu các ký tự không phải là đầu tiên ở đầu chuỗi.

function sumDigitsFromString[str] {
let nums = []
let sum = 0

for [let i = 0; i < str.length; i++] {
if [typeOf [arr[i]] === "number"] {
 nums.push[str[i]]
    }
}
 for [let i = 0; i < nums.length; i++]{
sum.push[nums[i] + sum]
   }
return sum
}
4

Đọc thêm #

  • Concatenate một chuỗi với một biến trong javascript
  • Chuyển đổi chuỗi thành mảng số trong javascript

Làm cách nào để tổng số một số trong một chuỗi trong JavaScript?

Sử dụng toán tử bổ sung [+], ví dụ:Số ['1'] + số ['2'].Toán tử bổ sung sẽ trả về tổng của các số., e.g. Number['1'] + Number['2'] . The addition operator will return the sum of the numbers.

Làm thế nào để bạn tổng số trong JavaScript?

const num1 = parseInt [nhắc ['nhập số đầu tiên']];const num2 = parseInt [nhắc ['nhập số thứ hai']];Sau đó, tổng của các số được tính toán.const sum = num1 + num2;Cuối cùng, tổng được hiển thị.const sum = num1 + num2; Finally, the sum is displayed.

Có một tổng [] trong javascript?

Hàm sum [] trong d3.js được sử dụng để trả về tổng của các phần tử của mảng đã cho.Nếu mảng trống thì nó sẽ trả về 0. tham số: Hàm này chấp nhận một mảng tham số là một mảng các phần tử có tổng số sẽ được tính toán. js is used to return the sum of the given array's elements. If the array is empty then it returns 0. Parameters: This function accepts a parameters Array which is an array of elements whose sum are to be calculated.

Làm thế nào để bạn tổng hợp tất cả các chữ số trong một số trong JS?

Để tổng hợp tất cả các chữ số trong một số: Chuyển đổi số thành một chuỗi.Sử dụng phương thức chia [] để chia chuỗi thành một mảng các chữ số.Sử dụng phương thức giảm [] để tổng hợp tất cả các chữ số trong mảng.Convert the number to a string. Use the split[] method to split the string into an array of digits. Use the reduce[] method to sum all the digits in the array.

Bài Viết Liên Quan

Chủ Đề