簡體   English   中英

使用Javascript從Textarea中的每個換行符添加數字

[英]Add Numbers from Each Line Break in Textarea with Javascript

我在 textarea 中有以下內容:

鏈接|10000
鏈接|25000
鏈接|58932

我需要刪除“|”之前的字符在每一行上並得到所有數字的總和

任何幫助將不勝感激!

另一種解決方案:

 function myFunction() { document.getElementById("demo").innerHTML = document.getElementById("myTextarea").value.split("link|").map(Number).reduce(function(a, b){return a+b; }); }
 Calculate:<br> <textarea id="myTextarea"> link|10000 link|25000 link|58932</textarea> <p>Click the button to calculate.</p> <button type="button" onclick="myFunction()">Calculate it</button> <p id="demo"></p>

一個簡短的解決方案:

// Gets textarea content
var myTextareaText = document.getElementById('my-textarea-id').value;

// Uses array functions to simplify the process
let sum = myTextareaText.split('\n').map(x=>x.split('|')[1] * 1).reduce((a,b)=>a+b);

// Logs de result
console.log(sum);

做了什么:

1) 換行:myTextareaText.split('\\n')
2)foreach行,以“|”分隔,得到第二項並轉換為數字:map(x=>x.split('|')[1] * 1)
3) 對每個元素求和:reduce((a,b)=>a+b)

使用String#match方法從值中獲取所有數字,並使用Array#reduce方法計算總和。

 var ele = document.getElementById('text'); // get the text area value var res = ele.value // get all digits combinations , if you want decimal number then use /\\d+(\\.\\d+)?/g .match(/\\d+/g) // iterate and calculate the sum .reduce(function(sum, v) { // parse the number and add it with previous value return sum + Number(v); // set initial value as 0 }, 0); console.log(res);
 <textarea id="text">link|10000 link|25000 link|58932 </textarea>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM