Rumah > hujung hadapan web > tutorial js > Bagaimana untuk menukar saiz dan bait nilai rentetan tertentu dalam js

Bagaimana untuk menukar saiz dan bait nilai rentetan tertentu dalam js

下次还敢
Lepaskan: 2024-05-09 00:30:30
asal
1235 orang telah melayarinya

Terdapat tiga cara untuk mengubah suai nilai pada kedudukan tertentu dalam rentetan JavaScript: Gunakan kod aksara untuk mendapatkan kod aksara bagi aksara baharu, dan kemudian gunakannya untuk menggantikan nilai pada kedudukan yang ditentukan dalam rentetan. Gunakan kaedah splice() untuk menggantikan aksara pada kedudukan tertentu dalam rentetan. Untuk rentetan bait, tukar rentetan kepada Uint16Array, ubah suai kedudukan yang sepadan dan kemudian tukar Uint16Array yang diubah suai kepada rentetan.

Bagaimana untuk menukar saiz dan bait nilai rentetan tertentu dalam js

Cara mengubah suai nilai pada kedudukan tertentu dalam rentetan JavaScript

Kaedah 1: Gunakan kod aksara

Untuk mengubah suai nilai pada penggunaan tertentu dalam rentetan aksara, anda boleh . Kod aksara ialah nombor yang mewakili nilai yang sepadan dengan aksara dalam set aksara Unicode.

const str = "Hello";
const newCharacter = "W";
const newCharCode = newCharacter.charCodeAt(0); // 获取新字符的字符代码

str[2] = String.fromCharCode(newCharCode); // 用新字符代码更改字符串中指定位置的值

console.log(str); // 输出: "Hewllo"
Salin selepas log masuk

Kaedah 2: Gunakan kaedah splice()

Anda juga boleh menggunakan kaedah splice() untuk menggantikan aksara pada kedudukan yang ditentukan dalam rentetan.

const str = "Hello";
const replacementCharacter = "W";
const index = 2;

str.splice(index, 1, replacementCharacter); // 用新字符替换指定位置的字符

console.log(str); // 输出: "Hewllo"
Salin selepas log masuk

Ubah suai bait

Bait aksara dalam rentetan tidak boleh diubah suai secara langsung, kerana rentetan JavaScript dikodkan UTF-16 dan setiap aksara diwakili oleh dua bait. Untuk mengubah suai bait aksara, gunakan langkah berikut:

  1. Tukar rentetan kepada Uint16Array.
  2. Ubah suai kedudukan yang sepadan dalam Uint16Array.
  3. Tukar Uint16Array yang diubah suai kepada rentetan.
const str = "Hello";
const charIndex = 2; // 修改第 3 个字符(索引从 0 开始)
const newCharacter = "W";
const charCode = newCharacter.charCodeAt(0);

// 将字符串转换成 Uint16Array
const arr = new Uint16Array(str.length);
for (let i = 0; i < str.length; i++) {
  arr[i] = str.charCodeAt(i);
}

// 修改 Uint16Array 中指定位置的值
arr[charIndex] = charCode;

// 将 Uint16Array 转换成字符串
const newStr = String.fromCharCode(...arr);

console.log(newStr); // 输出: "Hewllo"
Salin selepas log masuk

Atas ialah kandungan terperinci Bagaimana untuk menukar saiz dan bait nilai rentetan tertentu dalam js. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan