记前端知识--数组元素的相关操作
数组中元素的操作
const arr = [1, 2, 3, 4];
this.removeByValue(4);
console.log(arr); // [1, 2, 3]
this.addByValue(6);
console.log(arr); // [1, 2, 3, 6]
复制代码
1、关于数组元素的减少
removeByValue = (val) => { // 减少指定的数组元素for (let i = 0; i < arr.length; i += 1) {if (arr[i] === val) {this.arr.splice(i, 1);return;}}}复制代码
2、数组的元素为对象时,可以根据唯一key,来进行确认减少(比第一种简便)
const newData = this.arr.filter(item => item.key !== key);
复制代码
3、关于数组元素的增加
addByValue = (val) => { // 增加元素this.arr.push(val);}
复制代码
4、有数组中,取出key值为K的对象元素
const target = arr.find(item => item.key === no);
复制代码
5、两个数组之间,进行相关的操作
const arr1 = [1,2,3];const arr2 = [3,4,5];// 并集const union = Array.from(new Set([...arr1,...arr2])); // union = [1,2,3,4,5]// 交集const intersection = Array.from(new Set([...arr1].filter(x => new Set(arr2).has(x)))); // intersection = [3]// 差集const difference1 = Array.from(new Set([...arr1].filter(x => !new Set(arr2).has(x)))); // difference1 = [1,2]const difference2 = Array.from(new Set([...arr2].filter(x => !new Set(arr1).has(x)))); // difference2 = [4,5]
复制代码
6、置换数组之间的位置(实战:在table中,可以置换位置)
- 置换函数:
swapItems = (arr, index1, index2) => {const arrData = arr;arrData[index1] = arrData.splice(index2, 1, arrData[index1])[0];return arr;}
复制代码
- 向前移动(在表格中展示为向上移动)
upRecord(no) {const newData = this.state.selectedMaterialList.slice(0);const target = newData.find(item => item.key === no);const index = newData.indexOf(target);if (index === 0) {message.warn('此模板为第一条,无法上移', 1.5);} else {const data = this.swapItems(newData, index, index - 1);this.setState({ selectedMaterialList: data });}}
复制代码
- 向前移动(在表格中展示为向上移动)
downRecord(no) {const newData = this.state.selectedMaterialList.slice(0);const target = newData.find(item => item.key === no);const index = newData.indexOf(target);if (index === newData.length - 1) {message.warn('此模板为最后一条,无法下移', 1.5);} else {const data = this.swapItems(newData, index, index + 1);this.setState({ selectedMaterialList: data });}}
复制代码
记前端知识--数组元素的相关操作相关推荐
- HTML5 DOM元素类名相关操作API classList简介(转载自张鑫旭大神)
一.其实事情的发展就像切水果 如果我们把元素的类名操作比作"切水果"游戏的话,其中一个单独的类名就好比"水果"或"炸弹"! DOM Leve ...
- HTML5 DOM元素类名相关操作API classList简介
by zhangxinxu from http://www.zhangxinxu.com 本文地址:http://www.zhangxinxu.com/wordpress/?p=3483 一.其实事情 ...
- 前端js数组元素的筛选,修改,新增属性小技巧一---前端数据筛选filter()函数,更新数组map()函数;
举个简单的例子(对数组的筛选,比如说3的倍数的值取出来): var a = [1,2,3,4,5,6,7];a = a.filter(function(value){var flag = true;i ...
- pymongo查询列表元素_pymongo相关操作
导入库,建立连接 a. from pymongo import MongoClient b. client = MongoClient(host,port) 创建数据库 myDB (应该叫连接数据库, ...
- selenide 自动化测试进阶一: 查找元素和相关操作
基础环境配置和举例请移步:https://www.cnblogs.com/davice/p/9298742.html 提到自动化有些测试同学就会问,我会使用工具录制做自动化,我会用工具或插件识别元素. ...
- 【前端】数组元素过滤
先定义一个数组: const ages = [23, 26, 25, 22, 25, 22, 23, 22, 15]; 最普通的遍历输出: // forEach companies.forEach(f ...
- 前端需要了解的PS相关操作
目录 1,ps的认识 2,新建文件 3,图层:上面的覆盖下面的 4,矩形选框工具 5,前景色和后景色 6,吸管工具 7,移动工具 8,返回上一步 ctrl+z 9,放大镜和抓手工具 10,图片的格式 ...
- bash shell 数组元素遍历操作 foreach
#数组元素遍历 foreach 操作 #参数:1数组; 2 回调函数(用户定义); 3用户数据参数(可选) #回调函数: 对数组每个元素调用该函数 # 回调函数参数: 参数:1元素在数组中的下标( ...
- java分配数组空间使用的关键字_创建数组时为数组元素分配内存空间的 Java 关键字是________(5.0分)_学小易找答案...
[填空题]若已有数组说明"char s[];",则创建 20 个字符的数组的语句是s=______________; (5.0分) [单选题]下列关于数组的描述错误的是(3.0分) ...
最新文章
- 预测性智能的力量:AI 和机器学习将如何改变美国政府决策?
- rot90--矩阵旋转
- 撰写第三周课程总结及实验报告(一)
- BootstrapTable(附源码) Bootstrap结合BootstrapTable的使用,分为两种模试显示列表。...
- Java 中的某些方法为什么要求传入一个 Class 对象
- linux .forward,linux forward的实现
- mac版mysql 1290_Mac 终端下mysql load data infile 文件路径 into table 表名称 操作,[Error Code] 1290 - The MyS...
- npm 报错: npm ERR! code ERESOLVE , npm ERR! code E404
- 如何以nobody用户执行命令?
- navicat远程连接mysql,2003 can't connect to mysql server on 10038
- 我与51CTO的战争之值得尊敬的对手
- 学习shell script
- 在SpringMVC中使用@RequestBody和@ResponseBody注解处理json时,报出HTTP Status 415的解决方案...
- QTTabBar 使用教程:用浏览器的方式管理 Windows 资源管理器
- 刚体运动学公式_刚体的运动学与动力学问题 (二)
- python英文单词记忆游戏单词爆破机
- 常见分布的数学期望和方差
- Tikhonov regularization 吉洪诺夫 正则化
- 在Unity3d项目中利用Udp进行局域网内通信
- offer_II_109开密码锁
热门文章
- php如何根据ip查找地址,根据IP地址查找IP所在地
- linux二进制数据16进制数据转换,[轉]16进制字符文本/二进制文件迷你互转器
- java皮肤_java程序的皮肤效果实现代码
- python把数字阿拉伯数字转换成中文10以内_Python实现把数字转换成中文
- java http 返回json_java发起http请求获取返回的Json对象方法
- java检测用户是否重复登录_Java web工程判断用户是否重复登录
- 3d环形图片展示 js_网易公开课Three.js实践 勋章系统
- 报错,o.h.engine.jdbc.spi.SqlExceptionHelper : Unknown column ‘template_name‘ in ‘field list‘
- rzsz上传下载命令
- 2021-9-30 Python Teaching Note