js中关于Map函数的基本使用

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<script>
/*
join方法用于把数组中的所有元素放入一个字符串
元素是通过指定的分隔符进行分隔的,如果用join来分割数组的话,这个变量就会变成字符串类型,就算之前是数组也会变成字符串类型,
js中的map()方法定义在Array中,它返回一个新的数组,数组中的元素为原始数组调用函数处理后的值,map()函数不会对空数组进行检查,
不会改变原始数组,形成的是一个新的数组
 */
let arr = ['张三','李四','王五']
let obj = {}
// 将数组转化为对象
for(let key in arr) {
  obj[key] = arr[key]
}
console.log(obj)  // {"0": "张三","1": "李四","2": "王五"}
let newObj = Object.keys(obj).map(val => ({
  label: obj[val],
  value: obj[val]
}))
console.log(newObj)  // [{"label": "张三","value": "张三"},{"label": "李四","value": "李四"},{"label": "王五","value": "王五"}]
//map() 方法定义在JavaScript的Array中,它返回一个新的数组,数组中的元素为原始数组调用函数处理后的值。
// 值得注意的是:1、map()函数不会对空数组进行检测;2、map()函数不会改变原始数组,它形成的是 一个新的数组
/* array.map(function(currentValue, index, arr), thisIndex)—
参数说明:
function(currentValue, index, arr):必须。为一个函数,数组中的每个元素都会执行这个函数。其中函数参数:
currentValue:必须。表述当前元素的的值(item)
index:可选。当前元素的索引也就是第几个数组元素。
arr:可选。当前元素属于的数组对象
thisValue:可选。对象作为该执行回调时使用,传递给函数,用作"this"的值
 */
const arr1=[
  {"id": 10,"title":'web开发',"price":99},
  {"id": 11,"title":'Java开发',"price":80}
]
const newArr = arr1.map(item => {
  return {title: item.title,price: item.price}
})
console.log(newArr)
/*[{"title": "web开发","price": 99},{"title": "Java开发","price": 80}]*/
const m = new Map([
    ['Michael',95],
    ['bob',75]
])
console.log(m.get('Michael'))  // 95
const obj1 = [
  {name: 'apple',color: 'red'},
  {name: 'banana',color: 'pink'}
]
const colors = obj1.map(item => {
  return item.color
})
console.log(colors)  // ["red","pink"]
// 从接口中获取到的数据
const res = [
  {title: '河南','sex': 1,age: 40},
  {title: '郑州','sex': 0,age: 20}
]
const newRes = res.map(item => {
  return {title: item.title,sex: item.sex === 1?'男':item.sex === 0? '女':'保密',age: item.age}
})
console.log(newRes)  // [{"title": "河南","sex": "男","age": 40},{"title": "郑州","sex": "女","age": 20}]
const arr3 = [1,2,3,4,5,6,6,7,10]
const r = arr3.filter(item => {
  return item%2 !== 0
})
console.log(r) // arr3 = [1,2,3,4,5,6,6,7,10]   r=[1,3,5,7]
const arr4 = ['a','b','c','a']
const arr4_1 = arr4.filter(function(element,index,self){
  return self.indexOf(element) === index
})
console.log(arr4,arr4_1)  // ["a","b","c","a"]    ["a","b","c"]
const arr5 = [0,1,3]
let sum = 0
arr5.forEach(function(value, index, array){
  sum += value
})
console.log(sum) // 4
</script>
</body>
</html>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

最好的期待,未来可期

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值