数组常见的方法(增删改查)

在讲数组的常见方法之前,我们先来看一下数组的创建,有2种方式可以来创建数组

a:用构造函数的方法来创建

var arr = new Array();//定义了一个空数组,里面没有值
var arr = new Array7;//定义了一个数组,里面有7个元素(变量),但并未赋值
var arr = new Array("红","橙","黄","绿","青","蓝","紫");//定义了一个数组,里面有7个元素,并且已经赋值好,分别是"红","橙","黄","绿","青","蓝","紫"

b:用字面量的方法来创建

 var arr = [];
 var arr = ["红","橙","黄","绿","青","蓝","紫"];

所以

var arr = new Array()等价于  var arr = [];

数组常见的方法

下面将数组的方法分为5类(官方文档中可查)
A – 给数组添加元素(增):push(), unshift(),splice()
B – 从数组中删除元素(删):pop(), shift(),splice()
C – 修改数组中的元素(改):splice(),reverse(),sort()
D --从已有数组中返回选定的数组(查):slice()
E – 不会改变元素数组的内容的函数:concat(),slice()

A 给数组添加元素(增)
1、push() 在数组的末尾增加一个元素

function fn(){
	var arr = ["红","橙","黄","绿","青","蓝","紫"];
	 arr.push("黑")
	 console.log(arr)//结果显示:"红","橙","黄","绿","青","蓝","紫","黑"
}

2、unshift() 在数组的开始添加

function fn(){
	var arr = ["红","橙","黄","绿","青","蓝","紫"];
	arr.unshift('白');
	console.log(arr);//结果显示: "白","红","橙","黄","绿","青","蓝","紫"
}

3、splice() 可以给数组添加、删除元素,关键可在指定下标删除或添加

function fn(){
	var arr = ["红","橙","黄","绿","青","蓝","紫"];
	arr.splice(2,0,"粉");//添加元素:在下标2的位置插入了"粉"  
	// 结果显示: ["红", "橙", "粉", "黄", "绿", "青", "蓝", "紫"]
    arr.splice(2,1,"粉");//把下标为2的元素删除掉了(黄),在下标2的位置插入了"粉"  
    //  结果显示:["红", "橙", "粉", "绿", "青", "蓝", "紫"]
    arr.splice(2,3,"粉","灰");//删除元素:从下标2开始删除3个,插入元素:在下标2的位置插入了"粉","灰" 
    // 结果显示:["红", "橙", "粉", "灰", "蓝", "紫"]
    console.log(arr);
}

B – 从数组中删除元素(删)
1、pop() 删除数组里最后一个元素,返回值就是被删除的元素

 function fn (){
	var arr = ["红","橙","黄","绿","青","蓝","紫"];
    var t = arr.pop();
    console.log(t); //结果显示:紫
    console.log(arr);//结果显示: ["红", "橙", "黄", "绿", "青", "蓝"]
}

2、shift() 在数组的开始删除

function fn(){
	var arr = ["红","橙","黄","绿","青","蓝","紫"];
	arr.shift();
	console.log(arr);// 结果显示:"橙","黄","绿","青","蓝","紫"
}

3、splice() 可以给数组添加、删除元素,关键可在指定下标删除或添加(分类A中已讲)

C – 修改数组中的元素(改)
1、splice() (上面已讲)
2、reverse() 把数组的元素进行翻转

function fn (){
	 var arr = ["红","橙","黄","绿","青","蓝","紫"];
    console.log(arr);//结果显示: ["红", "橙", "黄", "绿", "青", "蓝", "紫"]
    var t = arr.reverse();
    console.log(t); //结果显示: ["紫", "蓝", "青", "绿", "黄", "橙", "红"]
}

3、sort() sort函数只能排序字符串,不能排序数字(在回调函数中可以排序数字)

function fn (){
	 var arr=['t','f','b','a'];
     arr.sort();
     console.log(arr);//结果显示:["a", "b", "f", "t"]
}

D --从数组中查询:slice()
slice() 从数组里取出一部分元素(根据起始下标和结束下标)

function fn (){
	var arr = ["红","橙","黄","绿","青","蓝","紫"];
    var t = arr.slice(2) ;
    console.log(t); //结果显示:["黄", "绿", "青", "蓝", "紫"]
    var s =  arr.slice(2,5) ;
    console.log(s); //结果显示:["黄", "绿", "青"]
    console.log(arr);//不改变原数组 结果显示:["红","橙","黄","绿","青","蓝","紫"]
}

E – 不会改变元素数组的内容的函数
1、concat() 拼接,可拼接数组或元素

function fn (){
	var a = ["红","橙","黄","绿"]; 
    var b = ["青","蓝","紫"]
    console.log( a.concat(b) ); //结果显示:["红", "橙", "黄", "绿", "青", "蓝", "紫"]
    // console.log( a.concat("青","蓝","紫") );
    console.log(a); //结果显示:["红", "橙", "黄", "绿"]
}

2、slice() (在分类D中已讲)

以上代码执行时别忘记调用下 fn()

  • 2
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Vue中实现数组增删改查可以通过以下几种方式: 1. 增加:可以使用`push()`方法数组末尾添加新的元素,或者使用`splice()`方法在指定位置插入新的元素。例如,`arrList.push(6)`可以向数组末尾添加元素6,`arrList.splice(2, 0, 7)`可以在数组下标为2的位置插入元素7。 2. 删除:可以使用`pop()`方法删除数组末尾的元素,或者使用`splice()`方法删除指定位置的元素。例如,`arrList.pop()`可以删除数组末尾的元素,`arrList.splice(2, 1)`可以删除数组下标为2的元素。 3. 修改:可以直接通过下标来修改数组的值,例如 `arrList = 9` 可以将数组下标为2的值修改为9。但是需要注意的是,由于Vue的限制,直接修改数组的某个元素并不会触发视图的更新。为了解决这个问题,可以使用`Vue.set()`或`this.$set()`方法来修改数组的值。例如,`Vue.set(arrList, 2, '值')`可以将数组下标为2的值修改为'值'。 4. 查询:可以使用数组的各种方法进行查询,例如`indexOf()`可以返回指定元素在数组中的索引,`find()`方法可以返回满足条件的第一个元素等。 需要注意的是,当数组的长度发生变化时,Vue会自动检测到变动并更新视图。但当直接修改数组的某个元素时,需要使用`Vue.set()`或`this.$set()`方法来触发视图的更新。此外,如果对数组进行深度操作,可以使用深度克隆来确保数据真正改变,例如 `tabList = JSON.parse(JSON.stringify(tabList))`。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [vue对象和数组的增删改操作](https://blog.csdn.net/weixin_43085797/article/details/120513225)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值