JavaScript of() 方法
定义和用法
of() 方法用于将一组值转换为数组,不考虑参数的数量或类型。
Array.of() 和 Array() 构造函数之间的区别在于对单个参数的处理:Array.of(7) 创建一个具有单个元素 7 的数组,而 Array(7) 创建一个 length 为 7 的空数组。
如果对象是数组返回 true,否则返回 false。
浏览器支持
表格中的数字表示支持该方法的第一个浏览器版本号。
方法 | |||||
---|---|---|---|---|---|
of() | 45.0 | 12.0 | 32.0 | 9 | 25.0 |
语法
Array.of(element0) Array.of(element0, element1) Array.of(element0, element1, /* … ,*/ elementN)
参数
参数 | 描述 |
element0 | 必需,要转换为数组的元素。 |
element1, /* … ,*/ elementN | 可选,要转换为数组的元素。 |
Array.of(7); // [7] Array(7); // array of 7 empty slots Array.of(1, 2, 3); // [1, 2, 3] Array(1, 2, 3); // [1, 2, 3]
技术细节
返回值: | 数组对象。 |
JavaScript 版本: | ECMAScript 6 |
更多实例
使用 Array.of():
实例
Array.of(1); // [1]
Array.of(1, 2, 3); // [1, 2, 3]
Array.of(undefined); // [undefined]
Array.of(1, 2, 3); // [1, 2, 3]
Array.of(undefined); // [undefined]
非数组构造函数调用 of():
of() 方法可以在任何接受单个参数表示新数组长度的构造函数上调用。
实例
function NotArray(len) {
console.log("NotArray called with length", len);
}
console.log(Array.of.call(NotArray, 1, 2, 3));
// NotArray called with length 3
// NotArray { '0': 1, '1': 2, '2': 3, length: 3 }
console.log(Array.of.call(Object)); // [Number: 0] { length: 0 }
console.log("NotArray called with length", len);
}
console.log(Array.of.call(NotArray, 1, 2, 3));
// NotArray called with length 3
// NotArray { '0': 1, '1': 2, '2': 3, length: 3 }
console.log(Array.of.call(Object)); // [Number: 0] { length: 0 }
当 this 值不是构造函数时,返回一个普通的 Array 对象。
实例
console.log(Array.of.call({}, 1)); // [ 1 ]
点我分享笔记