需求
将以下两个数组合并
/**
* @author 飞云
* @wechat imfeiyun
* @wiki http://aiwork.wiki
* @link http://www.feiyunjs.com
*/
let aList = [
{
remarks: "偏移点击:去签到",
mark: [
{
text: '新人签到领金币',
},
],
},
]
let bList = [
{
remarks: "浮窗:看广告-签到",
mark: [
{
text: '看视频签到 +100金币',
},
],
},
]
实现方法
const arr = [aList, bList]; // 动态数组
const flatArr = customFlat(arr);
console.log(JSON.stringify(flatArr));
实现
要想将一个或者一个以上的数组,合并到一个数组里,可使用ES6的flat
方法。
但是AiWork只支持ES5的全部特性和ES6的少量特性,并不支持flat
方法。
需要我们自己实现一个
function customFlat(arr) {
let result = [];
// 遍历每个元素
arr.forEach(item => {
// 如果元素是数组,递归调用flat;否则,直接加入结果数组
if (Array.isArray(item)) {
result = result.concat(customFlat(item)); // 递归扁平化
} else {
result.push(item); // 直接添加非数组元素
}
});
return result;
}
代码解释
- customFlat:这个方法会递归地检查数组中的每个元素。如果遇到一个数组,它会递归地展开数组;否则,它会将该元素直接添加到结果数组中。
这样,你就能避免使用原生的 flat() 方法,确保即使在不支持该方法的环境中也能正常工作
AiWork简介
AIWork是一款安卓和IOS手机的自动化测试开发引擎,采用免root技术,自研IDE代码编辑器,自研图色引擎2.0,自研agent adb代理模式,自研hid硬件自动化,脚本代码采用javascript脚本代码(rhino引擎),提供了众多的工具,方便自动生成js代码。
AiWork开发文档
在官方文档的基础上,进行重新排版和优化。
一个优雅的文档,对于开发体验的提升,是效果显著的。
永久域名:aiwork.wiki
1. 官方交流QQ群,添加多个不批。建议使用安卓手机或电脑申请。
飞云脚本圈: 586333520
Auto.js学习交流③群:286635606
Auto.js学习交流②群:712194666(满员)
IOS免越狱自动化测试群:691997586
2. 盗版,破解有损他人权益和违法作为,请各位会员支持正版。
3. 本站部分资源来源于用户上传和网络搜集,如有侵权请提供版权证明并联系站长删除。
4.如未特别申明,本站的技术性文章均为原创,未经授权,禁止转载/搬运等侵权行为。
5.全站所有付费服务均为虚拟商品,购买后自动发货。售出后概不接受任何理由的退、换。注册即为接受此条款。
6.如果站内内容侵犯了您的权益,请联系站长删除。
飞云脚本 » 【AiWork脚本开发基础】JavaScript中合并多个数组
飞云脚本圈: 586333520
Auto.js学习交流③群:286635606
Auto.js学习交流②群:712194666(满员)
IOS免越狱自动化测试群:691997586
2. 盗版,破解有损他人权益和违法作为,请各位会员支持正版。
3. 本站部分资源来源于用户上传和网络搜集,如有侵权请提供版权证明并联系站长删除。
4.如未特别申明,本站的技术性文章均为原创,未经授权,禁止转载/搬运等侵权行为。
5.全站所有付费服务均为虚拟商品,购买后自动发货。售出后概不接受任何理由的退、换。注册即为接受此条款。
6.如果站内内容侵犯了您的权益,请联系站长删除。
飞云脚本 » 【AiWork脚本开发基础】JavaScript中合并多个数组