map | foreach | filter | |
返回值 | 有 | 没有 | 有 |
返回类型 | 返回一个新数组 | 无 | 返回原来的数组 |
"message": [
{
"cat_id": 1,
"cat_name": "大家电",
"cat_pid": 0,
"cat_level": 0,
"cat_deleted": false,
"cat_icon": "",
"children": [
{
"cat_id": 3,
"cat_name": "电视",
"cat_pid": 1,
"cat_level": 1,
"cat_deleted": false,
"cat_icon": "",
"children": [
{
"cat_id": 5,
"cat_name": "曲面电视",
"cat_pid": 3,
"cat_level": 2,
"cat_deleted": false,
"cat_icon": "https://api.zbztb.cn/full/2fb113b32f7a2b161f5ee4096c319afedc3fd5a1.jpg"
}
]
}
]
比如对以上数组进行如下操作
l
et leftTitle = data.map(item =>{
return item.cat_name;
})
//返回每一个 item.cat_name,形成一个新的数组,
et leftTitle = data.filter(item =>{
return item.cat_name;
})
// 如果 符合条件那么真个item会被保留,如果不符合的整个item 不被保留
et leftTitle = data.foreach(item =>{
return item.cat_name;
})
//没有返回值。
什么意思呢?
1 foreach 没有返回值,直接操作原来的数组,
2 map 遍历的时候,return 后面是什么就返回什么。
3 filter 对数组进行过滤,符合条件的item 整体保存,不符合条件的item 整体去除。
补充 两个方法 every 和 findIndex
every :遍历数组的时候,如果数组中的没一个item 都符合 你给的条件那么返回true,否则false
findIndx :遍历的数组,如果有符合条件的item ,那么返回第一个item的索引值。
注意:如果是一个空数组,那么返回true;
some:数组中有一个返回true 那么就会返回true;