cụ thể tôi có chuỗi này:jQuery: Truy cập tổng của một chuỗi các số với ngày tháng và chữ
var result = "/07-09-2012 73 ABC/11-09-2012 195 DEF/ 03-09-2012 95/04-09-2012 188 ABC/31-10-2012 72/18-09-2012 205/26-09-2012 244 ABC/14-09-2012 86/20-09-2012 92 DEF/28-09-2012 97/01-09-2012 95 DEF/ 17-09-2012 95/17-09-2012 83/12-09-2012 95/18-09-2012 95 ABC/18-09-2012 69/21-09-2012 95/21-09-2012 95 ABC/ 24-09-2012 144/28-09-2012 93 DEF";
Chuỗi được chia thành 3 loại.
- ngày (dd/mm/yyyy)
- Số
- Character
như sau: 07-09-2012 73 ABC
Tôi muốn để có được tổng của số, ngày tháng là 09 và có ký tự ABC.
Hiện nay, từ một câu hỏi khác tôi phát hiện ra làm thế nào để lấy lại chỉ ngày, khi chuỗi không có ký tự Ví dụ: http://jsfiddle.net/javascript/pBNNt/10/
var result = "/07-09-2012 73/11-09-2012 195/03-09-2012 95/04-09-2012 188/31-10-2012 72/18-09-2012 205/26-09-2012 244/14-09-2012 86/20-09-2012 92/28-09-2012 97/01-09-2012 95/17-09-2012 95/17-09-2012 83/12-09-2012 95/18-09-2012 95/18-09-2012 69/21-09-2012 95/21-09-2012 95/24-09-2012 144/28-09-2012 93";
var resultArr = result.split('/');
var results = {}; //sum by month
for (var i = 0; i < resultArr.length; i++) {
if (resultArr[i].length >= 11) { //it has date
var resultTkn = resultArr[i].split(' ');
if (resultTkn[1].length == 10) { //it is a date
var date = resultTkn[1].split('-');
var sum = 0;
if (results.hasOwnProperty(date[1])) {
sum = results[date[1]];
}
sum += parseFloat(resultTkn[2]);
results[date[1]] = sum;
}
}
}
$('div').text(results["09"])
Bây giờ làm thế nào tôi có thể làm điều tương tự, nhưng lấy tổng của một ngày hoặc tháng cụ thể, với ký tự cụ thể.
Đây là fiddle hiện tại của tôi với chuỗi: http://jsfiddle.net/javascript/pBNNt/8/
Cái gì như: results["09/2012,ABC"]
những gì bạn muốn làm, làm thế nào để u muốn chọn đầu vào của bạn? –
Hiện tại nếu bạn kiểm tra điều này: http://jsfiddle.net/javascript/pBNNt/10/ Tôi nhận được tổng của tất cả các số có tháng cụ thể. Bây giờ, tôi muốn lấy tổng của tất cả các số có tháng VÀ ký tự cụ thể. – ClydeM
tôi nghĩ bạn nên sử dụng regex để khớp với mẫu bạn muốn, chỉ cần chuyển regex làm đầu vào –