提到foreach和map的区别 想知道的人很多,因此,小编觉得有必要给大家解读一下,原生JS forEach和map遍历的区别以及兼容写法和scala中map和foreach的区别foreach和map的区别 的内容,让大家更深入了解JS的forEach和map方法的区别,一起来看看吧。
foreach和map的区别 :js forEach和map方法的区别
1、forEach()返回值是undefined,不可以链式调用。
2、map()返回一个新数组,原数组不会改变。
foreach和map的区别 :forEach和map有什么区别
Map map = new TreeMap();和Map map=new TreeMap();这两个的区别是前一种形式指明Map中存放的类型key和value都是String类型的,其他形式的放入Map中会提示错误。而后一种是Map中的key和value可以是任意类型对象,可以既把String类型的放入也可以
foreach和map的区别 :for foreach map区别
这个区别的话我个人感觉这个区别呢是非常复杂的也是不是那么可能的支持
foreach和map的区别 :原生JS forEach和map遍历的区别以及兼容写法
JS 的 forEach 和 map 方法都是 ES5 为处理数组而新增的迭代方法,区别在于 map 方法返回一个新数组,而 forEach 方法没有返回值。举个例子:
var arr = [1, 2, 4, 7, 8];
// 目标:上述数组里的每一项偶数都+1,使整个数组里都是奇数。
// map 方法
var result = arr.map(function(item) {
return item % 2 === 0 ? item + 1 : item;
});
console.log(result); // [1, 3, 5, 7, 9]
// forEach 方法
var result = [];
arr.forEach(function(item) {
if (item % 2 === 0) {
item += 1;
}
result.push(item);
});
console.log(result); // [1, 3, 5, 7, 9]
从上述例子可以看出,使用 map 方法要方便的多,代码也更优雅。这里需要注意的是这两个方法不支持 IE9 以下的 IE 浏览器,要兼容的话一般用 for 循环来实现:
// for 循环方法
var result = [];
for (var i = 0; i < arr.length; i++) {
if (arr[i] % 2 === 0) {
arr[i] += 1;
}
result.push(arr[i]);
}
console.log(result); // [1, 3, 5, 7, 9]
以上就是关于foreach和map的区别 ,JS的forEach和map方法的区别的全部内容,以及foreach和map的区别 的相关内容,希望能够帮到您。