5.8数组相关操作

本文介绍了Vue.js中数组的相关API,包括变异方法(如push、pop、splice等)和替换方法(如filter、concat、slice等),并展示了如何通过Vue.set动态修改响应式数据,包括数组元素和对象属性。示例代码演示了添加、删除和替换数据的操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、数组相关API


    1.变异方法(修改原有数据)
        push()
        pop()
        shift()
        unshift()
        splice()
        sort()
        reverse()
    2.替换数组(生成新的数组)
        filter()
        concat()
        slice()

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
	</head>
	<body>
		<div id="app">
			<div>
				<span>
					<input type="text" v-model="fname"/>
					<button @click="add">添加</button>
					<button @click="del">删除</button>
					<button @click="change">替换</button>
				</span>
			</div>
			<ul>
				<li :key = 'index' v-for="(item, index) in fruits">{{item}}</li>
			</ul>
			
		</div>
	</body>
	
	<script type="text/javascript" src="../js/vue.js"></script>
	<script type="text/javascript" >
	
	/*
	数组相关API
	1.变异方法(修改原有数据)
		push()
		pop()
		shift()
		unshift()
		splice()
		sort()
		reverse()
	2.替换数组(生成新的数组)
		filter()
		concat()
		slice()
		
	 */
		var vm = new Vue({
			el:'#app',
			data:{
				 msg: "hello",
				 fname: '',
				 fruits: ['apple', 'orange', 'banana']
			},
			methods: {
				add: function () {
					this.fruits.push(this.fname);
				},
				del: function() {
					this.fruits.pop(this.fname);
				},
				change: function() {
					this.fruits = this.fruits.slice(0, 1);
				}
			}
		});
	</script>
</html>

 

二、修改响应式数据(动态处理响应式数据)


        //数组修改元素
        Vue.set(vm.list, 1, 'lemon')
        vm.$set(vm.list, 0 , 'lemon');
        //对象修改属性
        vm.$set(vm.info, 'name', '王五')
            1.参数一表示要处理的数组名称
            2.参数二表示要处理的数组的索引
            3.参数三表示要处理的数组的值

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
	</head>
	<body>
		<div id="app">
			<ul>
				<li :key = 'index' v-for="(item, index) in list">{{item}}</li>
			</ul>
			<div>{{info.name}}</div>
			<div>{{info.age}}</div>
			<div>{{info.gender}}</div>
		</div>
	</body>
	
	<script type="text/javascript" src="../js/vue.js"></script>
	<script type="text/javascript" >
	
	/*
	3.修改响应式数据(动态处理响应式数据)
		//数组修改元素
		Vue.set(vm.list, 1, 'lemon')
		vm.$set(vm.list, 0 , 'lemon');
		//对象修改属性
		vm.$set(vm.info, 'name', '王五')
			1.参数一表示要处理的数组名称
			2.参数二表示要处理的数组的索引
			3.参数三表示要处理的数组的值
	 */
		var vm = new Vue({
			el:'#app',
			data:{
				 msg: "hello",
				 list: ['apple', 'orange', 'banana'],
				 info: {
					 name: '李四',
					 age: 12,
					 
				 }
			},
			methods: {
				handle: function (event) {
					
				}
			}
		});
		// vm.list[1] = 'lemon';
		// Vue.set(vm.list, 1, 'lemon')
		//数组修改
		vm.$set(vm.list, 3 , 'lemon');
		//对象新增属性
		vm.$set(vm.info, 'name', '王五')
		
	</script>
</html>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值