Blogger Information
Blog 36
fans 1
comment 0
visits 29320
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
JSON数组与对象方法、JS序列化
Jason
Original
1416 people have browsed it

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对象序列化,方便传入数据到后端。

Correcting teacher:天蓬老师天蓬老师

Correction status:qualified

Teacher's comments:对于集合数据的处理, 数组永远是首选
Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
0 comments
Author's latest blog post
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!