2013-06-28 39 views
5
var str = name.toUpperCase(); 
var ch = new Array(); 
ch = str.split(''); 

for(var i=0;i<7;i++) 
{ 
    if(ch = null) { 
    result_code.replace(
     pos.toString()+pos.toString()+pos.toString()+pos.toString(), 
     "FFFF"); 
    } else { 
    var temp = parseInt(ch[i]); 
    var temp_integer = 64; 
    if(temp<=122 & temp>=97) { 
     var pos = i+1; 
     result_code.replace(
     pos.toString()+pos.toString()+pos.toString()+pos.toString(), 
     (temp - temp_integer)+40); 
    } 
    } 
} 

Mã này đang tạo ra lỗi tại dòng này result_code.replace(pos.toString()+pos.toString()+pos.toString()+pos.toString(), (temp - temp_integer)+40);.Loại đối số Số không thể gán cho kiểu tham số Chuỗi | Hàm

Thông tin được gạch chân là phần này (temp - temp_integer)+40.

Lỗi được hiển thị là Argument type Number is not assignable to parameter type String|Function.

Điều gì sai với mã này? Tôi đang sử dụng WebStorm. Tôi có thể chỉ là một sai lầm ngớ ngẩn. Cảm ơn trước!

+1

Nếu bạn muốn lặp lại chuỗi, bạn có thể thực hiện 'mảng mới (5) .join (pos)' – elclanrs

+1

@elclanrs: 'a..z', nhưng tôi chắc chắn có cách tốt hơn. – paxdiablo

+1

Đặt một '+" "' sau + 40 – JoshRagem

Trả lời

12

Phương thức replace chấp nhận chuỗi hoặc hàm làm tham số thứ hai. Biến giá trị của bạn thành một chuỗi: ((temp - temp_integer)+40).toString().

+0

Cảm ơn !! Không thể tin rằng tôi đã bỏ lỡ điều đó. Sẽ đặt câu trả lời được chấp nhận khi nó cho phép tôi. – Chris

+0

Đối số thứ hai số hoạt động tốt cho tôi. –

+0

@torazaburo: Bạn đang sử dụng Webstorm? – Guffa

3
(temp - temp_integer)+40 

là giá trị số và replace muốn có chuỗi. Chỉ cần sử dụng:

(temp - temp_integer)+40+"" 

giả định rằng bạn muốn chuỗi đại diện của số lượng (ví dụ, 65 trở thành "65"). Nếu bạn muốn ký tự tại điểm mã đó (65 trở thành "A"), bạn nên xem xét sử dụng String.fromCharCode().

+0

Cảm ơn !! Không thể tin rằng tôi đã bỏ lỡ điều đó. Đáng buồn thay, câu trả lời được chấp nhận đi đến @Guffa (anh ấy là người đầu tiên, xin lỗi) – Chris

+3

_Damn_ tám giây đó :-) – paxdiablo

Các vấn đề liên quan