let array5= JSON.parse(JSON.stringify(userArray));
this.down(0,array5);
console.log(array5);
function down(index,arr){
if(index == arr.length-1){
}else{
let curObj = arr[index];
let downObj = arr[index+1];
arr.splice(index,1,downObj);
arr.splice(index+1,1,curObj);
可以自己测试一下,把下面这段代码粘贴到文本框修改后缀为html即可调试
<script>
console.log("splice使用demo");
let userArray=[
{"id":1,"name":"小明"},
{"id":2,"name":"小红"},
{"id":3,"name":"小花"}
let array1 = JSON.parse(JSON.stringify(userArray));
let user = {"id":4,"name":"小黑"};
let user2 = {"id":5,"name":"小华"};
array1.splice(3,0,user,user2);
console.log(array1);
let array2 = JSON.parse(JSON.stringify
(userArray));
array2.splice(2,1);
console.log(array2);
let array3 = JSON.parse(JSON.stringify(userArray));
let xiaodong = {"id":6,"name":"小东"};
array3.splice(1,1,xiaodong);
console.log(array3);
let array4= JSON.parse(JSON.stringify(userArray));
this.up(2,array4);
console.log(array4);
let array5= JSON.parse(JSON.stringify(userArray));
this.down(0,array5);
console.log(array5);
function up(index,arr){
if(index == 0){
}else{
let curObj = arr[index];
let preObj = arr[index-1];
arr.splice(index,1,preObj);
arr.splice(index-1,1,curObj);
function down(index,arr){
if(index == arr.length-1){
}else{
let curObj = arr[index];
let downObj = arr[index+1];
arr.splice(index,1,downObj);
arr.splice(index+1,1,curObj);
</script>
例如用了elment-ui的el-table,想要在el-table实现上下移动,首先增加上移、下移按钮
<div style="padding-bottom: 10px">
<el-button class="btn" plain type="primary" size="mini" @click="upColumn">上移</el-button>
<el-button class="btn" plain type="primary" size="mini" @click="downColumn">下移</el-button>
</div>
<el-table :data="columnList" max-height="350" border style="width: 100%" ref="mainTable"
highlight-current-row
@row-click="(row, column, event) => rowClick(row, column, event, 'mainTable')"
<el-table-column type="index" width="50" label="序号" ></el-table-column>
<el-table-column width="180" prop="dbFieldName" label="字段名称" >
</el-table-column>
</el-table>
实现的方法
upColumn(){
let selected = this.$refs.mainTable.selection;
if (selected.length < 1){
this.$message({
message: '请选择一条记录',
type: 'warning',
duration: 1500
return
let arr = this.columnList;
let index = arr.indexOf(selected[0]);
if (index === 0){
} else {
let curObj = arr[index];
let preObj = arr[index - 1];
arr.splice(index, 1, preObj);
arr.splice(index - 1, 1, curObj);
downColumn(){
let selected = this.$refs.mainTable.selection;
if (selected.length < 1){
this.$message({
message: '请选择一条记录',
type: 'warning',
duration: 1500
return
let arr = this.columnList;
let index = arr.indexOf(selected[0]);
if (index === arr.length - 1){
} else {
let curObj = arr[index];
let downObj = arr[index + 1];
arr.splice(index, 1, downObj);
arr.splice(index + 1, 1, curObj);
rowClick(row, column, event, tableName) {
this.$refs[tableName].clearSelection();
this.$refs[tableName].toggleRowSelection(row);
只有用了this.refs[tableName].toggleRowSelection(row)选择了当前行,this.refs[tableName].toggleRowSelection(row)选择了当前行,this.refs[tableName].toggleRowSelection(row)选择了当前行,this.refs.mainTable.selection才会获得当前行的值
然后用 let index = arr.indexOf(selected[0])就能获取当前行的序号,剩下的上移下移就能复用上面一开始的代码段了
splice有3个参数, splice(index,len,[item])
其中,index:数组开始下标 len: 替换/删除的长度 item:替换的值,删除操作的话 item为空
splice作用:删除元素/插入元素/替换元素,该方法会改变原始数组
el:arr = [‘1’,‘2’,‘3’,‘4’]
作用1:删除元素 — [item]为0
arr.splice(1,1) //[‘1’,‘3’,‘4’]
arr.splice(1,0) //[‘1’,‘2’,‘3’,‘4
ES6从数组中删除指定元素
findIndex()方法返回数组中满足提供的测试函数的第一个元素的索引。否则返回-1。
arr.splice(arr.findIndex(item => item.id === data.id), 1)
1. js中的splice方法
splice(index,len,[item])
注释:该方法会改变原始数组。
splice有3个参数,它也可以用来替换......
splice有3个参数, splice(index,len,[item])
其中,index:数组开始下标len: 替换/删除的长度 item:替换的值,删除操作的话 item为空
splice作用:删除元素/插入元素/替换元素,该方法会改变原始数组
el:arr= ['a','b','c','d']
作用1:删除元素-[item]为0
arr.splice(1,1) //['a','c','d']...
index —— 必需。整数,规定添加/删除项目的位置,使用负数可从数组结尾处规定位置。
howmany —— 必需。要删除的项目数量。如果设置为 0,则不会删除项目。
item1, …, itemX —— 可选。向数组添加的新项目。
Array —— 包含被删除项目的新数组,如果有的话。
一、情况一
示例:pandas 是基于NumPy 的
文章目录语法参数返回值示例
splice() 方法通过删除或替换现有元素或者原地添加新的元素来修改数组,并以数组形式返回被修改的内容。此方法会改变原数组。
array.splice(start[, deleteCount[, item1[, item2[, ...]]]])
start
指定修改的开始位置(从0计数)。如果超出了数组的长度,则从数组末尾开始添加内容;如果是负值,则表示从数组末位开始的第几位(从-1计数,这意味着-n是倒数第n个元素并且等价于array.length-n);如果