js数组与对象常用方法
js数组的常用方法
判断数组
console.log(Array.isArray(person)))
数组的遍历
1.使用for
遍历
示例:
var phone = ['xiaomi','huawei','oppo','vivo','chuizi'];
for(i = 0 ; i < phone.length ; i ++ ){
console.log(phone[i]);
}
输出:
xiaomi
huawei
oppo
vivo
chuizi
2.使用forEach
遍历
phone.forEach(function (item, index, array) {
console.log(item);
});
输出:
xiaomi
huawei
oppo
vivo
chuizi
slice实现数组的替换,删除,插入
在jS中,可以使用slice
进行数组的,替换,删除,插入,只要把参数改变一下。
示例如下:
var phone = ['xiaomi','huawei','oppo','vivo','chuizi'];
// 获取数组部分元素
console.log(phone.slice(0,3));
// 插入操作
phone.splice(1, 0, "ipone","ipad");
console.log(phone);
// 替换操作
phone.splice(1, 2, "苹果","平板");
console.log(phone);
// 删除操作
phone.splice(1,2);
var del = phone.splice(1,2);
console.log(del);
console.log(phone);
输出:
["xiaomi", "huawei", "oppo"]
["xiaomi", "ipone", "ipad", "huawei", "oppo", "vivo", "chuizi"]
["xiaomi", "苹果", "平板", "huawei", "oppo", "vivo", "chuizi"]
["huawei", "oppo"]
["xiaomi", "vivo", "chuizi"]
对象类型的常用方法
对象的遍历
案例:
var person = {
id: 1,
name: "zhangxiaoxiao",
email: "zxx@php.cn",
"test scroe": {
php: 11,
js: 22,
css: 33,
},
};
console.log(person["name"]);
// 表格方式打印对象
console.table(person);
// forEach遍历对象数据
var keys = Object.keys(person);
console.log(keys);
keys.forEach(function (item, index, arr) {
console.log(this[item]);
}, person);
输出:
zhangxiaoxiao
zxx@php.cn
{A: 88, B: 55, C: 44}
JS对象转为JSON字符串
我们可以通过JSON的一个stringify
方法,将JS对象转为JSON字符串,并且可以通过第二参数,限制允许序列化的属性,哪些允许,哪些不允许。
var person = {
id: 1,
age: 22,
isStudent:true,
haveBoy:undefined,
name: "zhangxiaoxiao",
email: "zxx@php.cn",
getBoyName: function () {
return this.name;
},
"test scroe": {
php: 11,
js: 22,
css: 33,
},
};
// 将JS对象 转为 序列化JSON字符串
var jsonStr = JSON.stringify(person);
// 通过数组,限制允许序列化的属性
var jsonStr = JSON.stringify(person, ["age","name"]);
// 通过函数,处理序列化的属性值
var jsonStr = JSON.stringify(
person,
function (key ,value) {
switch (key) {
case "isStudent":
return "我还是个学生";
case "haveBoy":
return "我还没有男朋友";
default:
return value;
}
}
)
console.log(jsonStr);
输出
{"id":1,
"age":22,
"isStudent":"我还是个学生",
"haveBoy":"我还没有男朋友",
"name":"zhangxiaoxiao",
"email":"zxx@php.cn",
"test scroe":{"php":11,"js":22,"css":33}
}
注:对象的方法会处理掉,值为undefined的成员没有了,原型对象成员也没有了
总结
JS与PHP有相似之处,他们都可以使用splice
方法进行数组的,增删改查,相当于数组的MYSQL语句,很好用,也可以使用forEach遍历数据,只需要将参数改一下。JSON的stringify方法,将JS对象序列化,方便传入数据到后端。