JS 的 forEach 和 map 方法都是 ES5 为处理数组而新增的迭代方法,区别在于 map 方法返回一个新数组,而 forEach 方法没有返回值。举个例子:
var arr = [1, 2, 4, 7, 8];// 目标:上述数组里的每一项偶数都+1,使整个数组里都是奇数。
// map 方法
var result = arrmap(function(item) {
return item % 2 === 0 item + 1 : item;
});
consolelog(result); // [1, 3, 5, 7, 9]
// forEach 方法
var result = [];
arrforEach(function(item) {
if (item % 2 === 0) {
item += 1;
}
resultpush(item);
});
consolelog(result); // [1, 3, 5, 7, 9]
从上述例子可以看出,使用 map 方法要方便的多,代码也更优雅。这里需要注意的是这两个方法不支持 IE9 以下的 IE 浏览器,要兼容的话一般用 for 循环来实现:
// for 循环方法var result = [];
for (var i = 0; i < arrlength; i++) {
if (arr[i] % 2 === 0) {
arr[i] += 1;
}
resultpush(arr[i]);
}
consolelog(result); // [1, 3, 5, 7, 9]
如果是json字符串可以使用 var jsonObj=JSONparse(json字符串);解析出来。再遍历
如:
var jsonStr='{"classId":1,"className":"前端学习速成班","students":[{"studentId":1,"studentName":"刘德华"},{"studentId":2,"studentName":"张学友"}]}'
var obj=JSONparse(jsonStr);
alert("我的班级:"+objclassName+",我是,"+objstudents[0]studentName);
步骤如下。
1、需要在map()函数中定义一个回调函数。
2、然后将所有的数组元素放到map()函数中。
3、执行后就可以得到一个新的数组,里面的元素都是字符串格式的了。
jsmap是一种基于JavaScript的Map对象,它用来存储键值对,存储格式为:key-value。要获取jsmap中所有的属性,可以使用以下几种方法。
1 使用jsmapkeys()方法:该方法会返回一个包含所有键的数组,可以使用for循环来遍历该数组,从而获取所有的属性。
2 使用jsmapvalues()方法:该方法会返回一个包含所有值的数组,可以使用for循环来遍历该数组,从而获取所有的属性。
3 使用jsmapforEach()方法:该方法会接收一个回调函数,回调函数会接收三个参数:当前键、当前值和当前Map对象,可以使用这三个参数来获取jsmap中的所有属性。
4 使用Objectkeys()方法:该方法会返回一个包含所有可枚举属性的数组,可以使用for循环来遍历该数组,从而获取所有的属性。
5 使用Objectvalues()方法:该方法会返回一个包含所有可枚举属性的数组,可以使用for循环来遍历该数组,从而获取所有的属性。
以上就是获取jsmap中所有属性的几种方法,使用这些方法,可以轻松获取jsmap中所有的属性。
数组(array)的map方法的第一个参数是遍历的当前值,第二个参数则是索引值,而你这段代码并不需要用到当前值,所以随便用了个_符号代替,在js中,_是合法的名字(可用作变量名、参数名、对象名等),你也可以用其他名字代替,比如 a、b、c、d……等等,这里用_应该只是编程者的个人习惯,并没有特殊含义。
Array(5)是建立一个5元素的空数组
fill(null)是用null值填充空数组
map((_,i)=>i+1)是遍历数组,把数组元素的索引值+1后作为数组的新元素值返回
比如原数组是 [null,null,null,null,null]
那么新数组就是 [1,2,3,4,5]
以上就是关于原生JS forEach和map遍历的区别以及兼容写法全部的内容,包括:原生JS forEach和map遍历的区别以及兼容写法、求教 前台JS 如何读取JSON中的MAP 集合、js遍历数组如何把取出来的值进行字符串等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)