博客列表 >JSON数组与对象方法、JS序列化

JSON数组与对象方法、JS序列化

Jason
Jason原创
2020年05月22日 16:30:041429浏览

js数组与对象常用方法

js数组的常用方法

判断数组

console.log(Array.isArray(person)))

数组的遍历

1.使用for遍历
示例:

  1. var phone = ['xiaomi','huawei','oppo','vivo','chuizi'];
  2. for(i = 0 ; i < phone.length ; i ++ ){
  3. console.log(phone[i]);
  4. }

输出:

  1. xiaomi
  2. huawei
  3. oppo
  4. vivo
  5. chuizi

2.使用forEach遍历

  1. phone.forEach(function (item, index, array) {
  2. console.log(item);
  3. });

输出:

  1. xiaomi
  2. huawei
  3. oppo
  4. vivo
  5. chuizi

slice实现数组的替换,删除,插入

在jS中,可以使用slice进行数组的,替换,删除,插入,只要把参数改变一下。
示例如下:

  1. var phone = ['xiaomi','huawei','oppo','vivo','chuizi'];
  2. // 获取数组部分元素
  3. console.log(phone.slice(0,3));
  4. // 插入操作
  5. phone.splice(1, 0, "ipone","ipad");
  6. console.log(phone);
  7. // 替换操作
  8. phone.splice(1, 2, "苹果","平板");
  9. console.log(phone);
  10. // 删除操作
  11. phone.splice(1,2);
  12. var del = phone.splice(1,2);
  13. console.log(del);
  14. console.log(phone);

输出:

  1. ["xiaomi", "huawei", "oppo"]
  2. ["xiaomi", "ipone", "ipad", "huawei", "oppo", "vivo", "chuizi"]
  3. ["xiaomi", "苹果", "平板", "huawei", "oppo", "vivo", "chuizi"]
  4. ["huawei", "oppo"]
  5. ["xiaomi", "vivo", "chuizi"]

对象类型的常用方法

对象的遍历

案例:

  1. var person = {
  2. id: 1,
  3. name: "zhangxiaoxiao",
  4. email: "zxx@php.cn",
  5. "test scroe": {
  6. php: 11,
  7. js: 22,
  8. css: 33,
  9. },
  10. };
  11. console.log(person["name"]);
  12. // 表格方式打印对象
  13. console.table(person);
  14. // forEach遍历对象数据
  15. var keys = Object.keys(person);
  16. console.log(keys);
  17. keys.forEach(function (item, index, arr) {
  18. console.log(this[item]);
  19. }, person);

输出:

  1. zhangxiaoxiao
  2. zxx@php.cn
  3. {A: 88, B: 55, C: 44}

JS对象转为JSON字符串

我们可以通过JSON的一个stringify方法,将JS对象转为JSON字符串,并且可以通过第二参数,限制允许序列化的属性,哪些允许,哪些不允许。

  1. var person = {
  2. id: 1,
  3. age: 22,
  4. isStudent:true,
  5. haveBoy:undefined,
  6. name: "zhangxiaoxiao",
  7. email: "zxx@php.cn",
  8. getBoyName: function () {
  9. return this.name;
  10. },
  11. "test scroe": {
  12. php: 11,
  13. js: 22,
  14. css: 33,
  15. },
  16. };
  17. // 将JS对象 转为 序列化JSON字符串
  18. var jsonStr = JSON.stringify(person);
  19. // 通过数组,限制允许序列化的属性
  20. var jsonStr = JSON.stringify(person, ["age","name"]);
  21. // 通过函数,处理序列化的属性值
  22. var jsonStr = JSON.stringify(
  23. person,
  24. function (key ,value) {
  25. switch (key) {
  26. case "isStudent":
  27. return "我还是个学生";
  28. case "haveBoy":
  29. return "我还没有男朋友";
  30. default:
  31. return value;
  32. }
  33. }
  34. )
  35. console.log(jsonStr);

输出

  1. {"id":1,
  2. "age":22,
  3. "isStudent":"我还是个学生",
  4. "haveBoy":"我还没有男朋友",
  5. "name":"zhangxiaoxiao",
  6. "email":"zxx@php.cn",
  7. "test scroe":{"php":11,"js":22,"css":33}
  8. }

注:对象的方法会处理掉,值为undefined的成员没有了,原型对象成员也没有了

总结

JS与PHP有相似之处,他们都可以使用splice方法进行数组的,增删改查,相当于数组的MYSQL语句,很好用,也可以使用forEach遍历数据,只需要将参数改一下。JSON的stringify方法,将JS对象序列化,方便传入数据到后端。

声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议