Javascript操作对象数组实现增删改查

1.介绍

最近帮朋友弄一个简单的针对json数组的增删改成页面,正好涉及到了js去操作对象数组实现增删改查功能。我估计很多朋友应该也会遇到这类操作,所以记录一下以便分享。

2.数据准备

这里我就以学生对象数组为例了,其实这个数组和json数组操作起来基本一致的,转换一下即可。例如可以使用JSON.parse将一串JSON字符串转换为js对象数组。

测试数据:

// 学生对象数组
var students = [
    {id:1, name: "张三", age: 14},
    {id:2, name: "李四", age: 15},
    {id:3, name: "王五", age: 17},
    {id:4, name: "赵六", age: 18}
];

3.查询操作

  • 根据下标查询
console.log(students[1]);
  • 根据id查询
var ss = students.filter((p) => {
    return p.id == 4;
});

console.log(ss);
console.log(ss[0]); // 打印第一个元素
  • 根据姓名模糊查询
ss = students.filter((p) => {
    return p.name.indexOf('五') > -1;
});
console.log(ss);

4.新增操作

var e = {id:5, name: "王八", age: 20};
students.push(e);

5.删除

// 根据ID获取下标

var e = students.filter((p) => {
    return p.id == 4;
});

var index = students.indexOf(e);
// 根据下标删除
students.splice(index,1);
console.log(students.length);  // 剩下4个

6.修改

// 可以直接根据下标修改
students[0].name='张三1';
students[0].age=20;
console.log(students[0]);

7.如何测试?

这里大家可以借助谷歌浏览器F12开发者工具中的console面板(其实就是个js执行引擎),只需要将以上代码按顺序输入执行即可看到效果:
在这里插入图片描述

8.其他数组操作

这里附加一些其他操作命令,需要的朋友也可以参考:

  • push() 在最后面添加元素
  • unshift() 在最前面添加元素
  • pop() 删除最后一个元素
  • shift() 删除第一个元素
  • splice() 删除元素,替换元素,插入元素
  • sort() 数组排序
  • reverse() 数组反转
  • Vue.set()修改数组中的某一个
posted @ 2021-07-03 16:14  一锤子技术员  阅读(13)  评论(0编辑  收藏  举报  来源