📜  JavaScript | typedArray.fill()(1)

📅  最后修改于: 2023-12-03 14:42:28.545000             🧑  作者: Mango

JavaScript | typedArray.fill()

typedArray.fill() 是 JavaScript 中 TypedArray 对象的一个方法。它用指定的值填充 TypedArray 对象的所有元素。

语法
typedArray.fill(value, start, end)
  • value: 用于填充 TypedArray 的值。
  • start(可选): 填充开始的索引,默认为 0。
  • end(可选): 填充结束的索引,默认为 TypedArray 的长度。
返回值

返回被修改后的 TypedArray 对象。

示例
const array = new Uint8Array([1, 2, 3, 4, 5]);
console.log(array.fill(0));  // Uint8Array [ 0, 0, 0, 0, 0 ]

const array2 = new Float32Array(5);
console.log(array2.fill(1.5, 2, 4));  // Float32Array [ 0, 0, 1.5, 1.5, 0 ]

const array3 = new Int16Array([1, 2, 3, 4, 5]);
console.log(array3.fill(7, 1));  // Int16Array [ 1, 7, 7, 7, 7 ]
描述

fill() 方法将 TypedArray 对象的所有元素用指定的值填充。填充的范围由可选参数 startend 指定。

值得注意的是,fill() 方法是就地修改(mutable)的,它会直接修改原始的 TypedArray 对象,并且会返回修改后的对象。这也意味着 fill() 方法没有创建一个新的数组,而是在原有的数组中进行填充操作。

当不提供可选参数 startend 时,fill() 方法会填充整个 TypedArray 对象的所有元素。

与普通的 JavaScript 数组不同,TypedArray 只能存储固定数据类型的值。因此,填充的值必须是与 TypedArray 对象的数据类型兼容的。

总结

typedArray.fill() 方法提供了一种快速将 TypedArray 对象所有元素填充为指定值的方式。它是一个原地修改的方法,方便有效地更新 TypedArray 对象的内容。

注意,在使用 fill() 方法修改 TypedArray 对象时,会直接修改原始对象,可能会对其他地方的引用产生副作用。所以在使用时要注意这一点。