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

Bagaimana untuk menukar saiz dan bait nilai rentetan tertentu dalam js

下次还敢
下次还敢asal
2024-05-09 00:30:301132semak imbas

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.

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

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

console.log(str); // 输出: "Hewllo"</code>

Kaedah 2: Gunakan kaedah splice()

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

<code class="js">const str = "Hello";
const replacementCharacter = "W";
const index = 2;

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

console.log(str); // 输出: "Hewllo"</code>

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.
<code class="js">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"</code>

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:
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