JavaScript数组合并的8种常见方法小结
作者:tengxi_5290 发布时间:2024-04-16 09:32:55
标签:js,数组,合并
1.ES6 解构
[...arr, ...array]
不改原数组值,生成新的数组。
2.遍历添加
array.forEach(item => {
arr.push(item)
})
遍历方法:forEach、map、filter、every、for、for in、for of等。
添加方法:push(后追加)、unshift(前追加)等。
arr值改变成追加后的样子,array值不改变
3.concat
arr.concat(array)
不改原数组值,生成新的数组。
4.join & split
(arr.join(',') + ',' + array.join(',')).split(',')
原数组值不改变。
默认会把数组中的数字类型转成字符串类型。
数组的项是引用类型时会自动生成'[object Object]',造成数据丢失或错误。
5.解构添加
arr.push(...array)
arr.unshift(...array)
arr变成合并后的样子,array值不变。
6.splice解构
arr.splice(arr.length, '', ...array)
原数组值不变,返回空数组。
7.apply
arr.push.apply(arr, array)
arr.unshift.apply(arr, array)
原数组值不改变,返回拼接后数组的长度。
8.call
arr.push.call(arr, ...array)
arr.unshift.call(arr, ...array)
原数组值不改变,返回拼接后数组的长度。
补充:两个数组的交叉合并
var ary=["A","B","C","D"];
var ary2=[1,2,3,4,5,6,];
function aryJoinAry(ary,ary2) {
var itemAry=[];
var minLength;
//先拿到两个数组中长度较短的那个数组的长度
if(ary.length>ary2.length){
minLength=ary2.length;
}
else{
minLength=ary.length;
}
//将两个数组中较长的数组记录下来
var longAry=arguments[0].length>arguments[1].length?arguments[0]:arguments[1];
//循环范围为较短的那个数组的长度
for (var i = 0; i < minLength; i++) {
//将数组放入临时数组中
itemAry.push(ary[i]);
itemAry.push(ary2[i])
}
//itemAry和多余的新数组拼接起来并返回。
return itemAry.concat(longAry.slice(minLength));
}
console.log(aryJoinAry(ary, ary2));// ["A", 1, "B", 2, "C", 3, "D", 4, 5, 6]
来源:https://blog.csdn.net/tengxi_5290/article/details/124825523


猜你喜欢
- 一、概论C4.5主要是在ID3的基础上改进,ID3选择(属性)树节点是选择信息增益值最大的属性作为节点。而C4.5引入了新概念“信息增益率”
- 指定变量类型有时您可能需要为变量指定类型,这可以通过 casting 来完成,Python 是一门面向对象的语言,因此它使用类来定义数据类型
- 返回pattern字符串在表达式expression里第一次出现的位置,起始值从1开始算。pattern字符串在expression表达式里
- 由于我在从源码看vue(v2.7.10)的computed的实现原理中详细的讲解过computed的实现,本篇跟computed的原理类似。
- 原理:第一步:应用程序把查询SQL语句发给服务器端执行。我们在数据层执行SQL语句时,应用程序会连接到相应的数据库服务器,把SQL语句发送给
- 反射是在PHP运行状态中,扩展分析PHP程序,导出或提取出关于类、方法、属性、参数等的详细信息,包括注释。这种动态获取的信息以及动态调用对象
- 本文实例为大家分享了python+opencv实现霍夫变换检测直线的具体代码,供大家参考,具体内容如下python+opencv实现高斯平滑
- 初识条件判断(逻辑判断)逻辑判断与逻辑语句什么是逻辑判断? —> 对于一件事情的正确与否的判断,即 真假的判断;在
- 如下所示:#!/usr/bin/python# -*- coding:utf8 -*-import xlwtimport osworkboo
- Nginx配置Ngnix,一个高性能的web服务器,毫无疑问它是当下的宠儿。卓越的性能,灵活可扩展,在服务器领域里攻城拔寨,征战天下。静态文
- 一 介绍Python上有一个非常著名的HTTP库——requests,相信大家都听说过,用过的人都说非常爽!现在requests库的作者又发
- 好久木有在windows里面写python了。。这本也不是事儿,python嘛,只要系统里面装好了,那大多数代码都是可以正常运行的。。然而有
- 操作步骤A.cmd输入:pip install requests,安装requestsB.py文件导入:import requestsC.g
- 求解列表中元素的排列和组合问题这个问题之前就遇到过几次没有太留意,最近在做题的时候遇上挺多的排列组合问题的,想来有必要温习一下了
- JSON 相关概念:序列化(Serialization):将对象的状态信息转换为可以存储或可以通过网络传输的过程,传输的格式可以是JSON,
- 你是怎么把密码储存到数据库里?是以纯文字的方式?你可知道这对安全的危险性?当攻击你网站的人能开启数据库浏览,以纯文字方式存在数据库里的密码一
- 简介Python 是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言。你可以将它理解成脚本语言,大多情况我也是将它作为写脚本工具
- 当下,C#与Python都是比较热门的计算机编程语言,他们各有优缺点,如果能让他们互相配合工作,那是多么美好的事情,今天我来讲解一下如何利用
- 前言这是一个使用HttpRunner开发接口平台的简单Demo。新建Django项目安装依赖包pip install httprunner=
- 本文实例讲述了mysql代码执行结构。分享给大家供大家参考,具体如下:本文内容:什么是代码执行结构顺序结构分支结构循环结构 首发日