js写foreach
时间: 2024-02-02 09:09:01 浏览: 22
以下是三种JavaScript写foreach的方法:
1. 经典写法:
```javascript
var arr = [{id: 1, name: 'Tom'}, {id: 2, name: 'Jerry'}, {id: 3, name: 'Lucy'}];
for (var i = 0; i < arr.length; i++) {
console.log("id is " + arr[i].id + "\t" + "name is " + arr[i].name);
}
```
2. forEach方法:
```javascript
var arr = [{id: 1, name: 'Tom'}, {id: 2, name: 'Jerry'}, {id: 3, name: 'Lucy'}];
arr.forEach(function(item) {
console.log("id is " + item.id + "\t" + "name is " + item.name);
});
```
3. ES6的forEach方法:
```javascript
const arr = [{id: 1, name: 'Tom'}, {id: 2, name: 'Jerry'}, {id: 3, name: 'Lucy'}];
arr.forEach(item => {
console.log(`id is ${item.id}\tname is ${item.name}`);
});
```
相关问题
手写foreach的原理js
在JavaScript中,`forEach`是一个用于数组的高阶函数,它可以遍历数组并对每个元素执行特定的操作。下面是手写实现`forEach`的简单原理:
1. 创建一个函数,命名为`myForEach`,它接受两个参数:一个是要遍历的数组,另一个是要执行的操作(回调函数)。
2. 在`myForEach`内部,使用一个`for`循环来遍历数组。循环的索引从0开始,递增直到数组的长度。
3. 在循环内部,调用传入的回调函数,并传入当前元素作为参数。可以使用数组索引来获取当前元素。
4. 循环结束后,`myForEach`函数执行完毕。
下面是一个示例代码,展示了如何手写实现`forEach`:
```javascript
function myForEach(arr, callback) {
for (let i = 0; i < arr.length; i++) {
callback(arr[i], i, arr);
}
}
// 示例用法
const numbers = [1, 2, 3, 4, 5];
myForEach(numbers, function(num, index, array) {
console.log(`元素 ${num} 的索引是 ${index}`);
});
```
以上代码中,`myForEach`函数接受一个数组和一个回调函数作为参数。在示例用法中,回调函数输出了每个元素的值和对应的索引。你可以根据需要修改回调函数来执行其他操作。
js 中断foreach
在JavaScript中,forEach循环并没有提供类似于break的方法。但是我们可以通过抛出一个特殊异常来中断forEach循环。具体实现方法如下所示:
```javascript
var BreakException = {}; // 定义一个特殊异常
try {
[1, 2, 3].forEach(function(el) {
console.log(el);
if (el === 2) throw BreakException; // 在满足条件时抛出特殊异常
});
} catch (e) {
if (e !== BreakException) throw e;
}
```
在上述代码中,我们定义了一个特殊异常BreakException,并在forEach循环中判断是否满足中断条件,如果满足则抛出该异常。在catch语句块中,我们判断捕获到的异常是否为BreakException,如果是则表示已经中断了forEach循环,否则将异常继续抛出。