Array.prototype.concat
概念
Array.prototype.concat方法将数组实例中的元素与添加一个或多个元素(数组)合并成一个新数组。
语法
arr.concat(element1)
arr.concat(element1, element2)
arr.concat(element1, element2 ... elementN)
参数
- elementN 指需要合并元素(数组)。
返回值
返回新的数组实例。
描述
- 如果
element
是非数组时,将element
添加到新数组当中。 - 如果
element
是数组时,将element
中的元素逐一添加到新数组中。
例子
例一、当参数element
非数组时
let arr = ['前', '端', '咖'];
let result = arr.concat('手', '册');
console.log(result); // ['前', '端', '咖', '手', '册']
例二、当参数element
是数组时
let arr = ['前', '端', '咖'];
let result = arr.concat(['手', '册']);
console.log(result); // ['前', '端', '咖', '手', '册']
例三、当参数element
是多维数组时
let arr = ['前', '端', '咖'];
let result = arr.concat(['手', '册', ['qian', 'duan']]);
console.log(result); // ['前', '端', '咖', '手', '册', ['qian', 'duan']]
例三、当参数element
是任意值时
let arr = ['前', '端', '咖'];
let result = ['手', '册', 1, true, { qdk: '前端咖' }];
console.log(result); // ['前', '端', '咖', '手', '册', 1, true, { qdk: '前端咖' }]
例三、当参数element
不存在时
let arr = ['前', '端', '咖'];
let result = arr.concat();
console.log(result); // ['前', '端', '咖']
面试
- 聊一聊
concat
与push
的区别?
实现 concat 方法
if (!Array.prototype.concat) {
Array.prototype.concat = function () {
let arr = [];
for (let i = 0, l = this.length; i < l; i++) {
arr.push(this[i]);
}
if (arguments.length) {
for (let i = 0, l = arguments.length; i < l; i++) {
let elem = arguments[i];
if (Object.prototype.toString.call(elem) == '[object Array]') {
for (let j = 0, jl = elem.length; j < jl; j++) {
arr.push(elem[i]);
}
} else {
arr.push(elem);
}
}
}
retun arr;
};
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
2014-01-19 jdk和tomcat基本配置
2012-01-19 按轨迹周期运动