用js遍历let j=[{a:1,b:2},{c:3,d:4}]循环遍历
时间: 2024-04-15 15:28:10 浏览: 14
在 JavaScript 中,您可以使用 `for...of` 循环来遍历数组,并使用 `for...in` 循环来遍历对象的属性。对于给定的数组 `j,您可以使用以下代码来循环遍历其中的对象:
```javascript
let j = [{a: 1, b: 2}, {c: 3, d: 4}];
for (let item of j) {
for (let key in item) {
if (item.hasOwnProperty(key)) {
console.log(key, item[key]);
}
}
}
```
这段代码将输出:
```
a 1
b 2
c 3
d 4
```
在外部的 `for...of` 循环中,`item` 表示数组 `j` 中的每个对象。在内部的 `for...in` 循环中,`key` 表示对象的属性名,`item[key]` 表示属性对应的值。通过检查属性是否是对象自身的属性(而不是继承自原型链的属性),可以确保只遍历对象自身的属性。
相关问题
使用JavaScript中的Iterator遍历数组arr=[1,2,3,4,5]
可以使用for...of循环来遍历数组中的元素,因为数组已经默认实现了Symbol.iterator方法。示例如下:
```
const arr = [1, 2, 3, 4, 5];
for(let item of arr) {
console.log(item);
}
```
输出结果为:
```
1
2
3
4
5
```
另外,也可以手动获取数组的Iterator对象,然后调用next方法来遍历数组中的元素。示例如下:
```
const arr = [1, 2, 3, 4, 5];
const iterator = arr[Symbol.iterator]();
let result = iterator.next();
while(!result.done) {
console.log(result.value);
result = iterator.next();
}
```
输出结果与上面相同。
使用js把{a: [1, 2, 2, 3], b: 4}去重
以下是使用JavaScript实现该功能的代码:
```javascript
const obj = {a: [1, 2, 2, 3], b: 4};
for (let prop in obj) {
if (Array.isArray(obj[prop])) {
obj[prop] = [...new Set(obj[prop])];
}
}
console.log(obj); // 输出 { a: [1, 2, 3], b: 4 }
```
上述代码中,我们首先使用`for...in`循环遍历对象的属性,判断每个属性值是否为数组。如果是数组,我们就使用ES6中的`Set`对象去重,并将去重后的数组重新赋值给该属性。最后输出去重后的对象。