Tách chuỗi trong Javascript

Cho em hỏi là làm sao để loại được 1 kí tự trong 1 chuỗi ạ. Em làm nhiều cách nhưng có vẻ không đúng. mọi người chỉ em với ạ.

     function omitCharAt(str, n) {
           //Viết function omitCharAt  trả về chuỗi đã được loại bỏ ký tại vị trí n bất kỳ
           //Lưu ý cho chuối 'abcd' :
           // 		element    'a'|'b'|'c'|'d'
           //		index 	    0 | 1 | 2 | 3
           //  n = 4 thì chuỗi trả về là 'abcd'
           //  n = 1 ------------------- 'acd'
           //  n = 2 ------------------- 'abd'
         }

cái chỗ n=4 bạn giải thích tại sao lại kết quả là acd không

4 Likes

Theo mình hiểu là trả về cả string. để mình edit lại ạ

cái này easy mà.
cách 1 (cách trâu bò): lấy từng kí tự từ đầu chuỗi đến vị trí trước vị trí cần xoá, lấy từng kí tự sau vị trí cần xoá đến hết ghép lại với nhau
cách 2 (bớt trâu bò): Dùng method substring của string cắt ra 2 đoạn text từ vị trí đầu đến vị trí trước vị trí cần xoá + đoạn text từ sau vị trí cần xoá đến hết. Cộng lại với nhau
cách 3 (crazy): Biến chuỗi thành array các char bằng method Array.from(). Sau đó dùng method splice của array để loại bỏ phần tử thứ n, Cuối dùng join array lại với nhau.

5 Likes

Mình làm được rồi. hi. cảm ơn bạn nhiều. Còn cái splice không dùng được trong string đâu bạn ~~

uh, cái này hình như chưa có trong specs nên không dùng được.

5 Likes

substr là nhanh nhất :smiley:

2 Likes

method này bị đánh dấu là deprecated rồi bạn, có 2 method thay thế giống hệt là string.slice và string. substring

4 Likes
function removeByIndex(str, index) {
	if (index == 0) {
		return str.slice(1);
	}
	return str.slice(0, index - 1) + str.slice(index);
}
var index = 0;
var str = "Javascript";
console.log(removeByIndex(str, index));
2 Likes

Lặp thuần :kissing_smiling_eyes:

function omitCharAt(str, n) {
    let r = "";
    for(let i = 0; i < str.length; i++){
        if(i==n){continue;}
        r+=str[i];
    }
    return r;
}
console.log(omitCharAt("abcd",2));
4 Likes

Cảm ơn mọi người ạ. Mình làm được rồi. hi

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?