Get to know MDN better
此页面由社区从英文翻译而来。了解更多并加入 MDN Web Docs 社区。
Array 实例的 with() 方法是使用方括号表示法修改指定索引值的复制方法版本。它会返回一个新数组,其指定索引处的值会被新值替换。
要修改的数组索引(从 0 开始),将会转换为整数。
要分配给指定索引的任何值。
一个全新的数组,其中 index 索引处的元素被替换为 value。
index > array.length 或 index < -array.length 时抛出。
with() 通过返回一个指定索引处的值被新值替换的新数组,来改变数组中指定索引处的值。原数组不会被修改,这使得你可以以链式调用数组方法的方式来对数组进行操作。
通过组合使用with() 和 at() 函数,可分别地写入和读取数组,索引使用正数负数均可。
with() 方法永远不会产生稀疏数组。如果原数组是稀疏的,新数组对应的空白索引位置会替换为 undefined。
with() 方法是通用的。它只期望 this 值具有 length 属性和整数键属性。
使用 with() 方法,你可以在更新一个数组元素后继续调用其他的数组方法。
with() 方法总会创建一个密集数组。
with() 方法创建并返回一个新数组。它读取 this 的 length 属性,然后访问其键是小于 length 的非负整数的每个属性。当 this 的每个属性被访问后,索引等于该属性的键的数组元素被设置为该属性的值。最后,将 index 的数组值设置为 value。
| ECMAScript® 2027 Language Specification # sec-array.prototype.with |
启用 JavaScript 以查看此浏览器兼容性表。