一、从JS循环给数组里的对象添加属性
在实际开发中,我们可能需要在数组中的每个对象上添加一些属性,方便后续的计算或操作。我们可以通过JS循环数组对象的方式,为每个对象添加属性,具体代码实现如下:
const arr = [
{ name: 'Bob', age: 18 },
{ name: 'Lucy', age: 20 },
{ name: 'Tom', age: 22 }
];
arr.forEach((item, index) => {
item.id = index + 1;
});
console.log(arr);
/*
输出结果:
[
{ name: 'Bob', age: 18, id: 1 },
{ name: 'Lucy', age: 20, id: 2 },
{ name: 'Tom', age: 22, id: 3 }
]
*/
二、JS循环数组对象删除指定对象
在实际开发中,我们可能需要从数组中删除指定的对象。我们可以通过JS循环数组对象的方式,找到需要删除的对象,然后使用数组的splice
方法进行删除,具体代码实现如下:
const arr = [
{ name: 'Bob', age: 18 },
{ name: 'Lucy', age: 20 },
{ name: 'Tom', age: 22 }
];
const removeItem = { name: 'Lucy', age: 20 };
arr.forEach((item, index) => {
if(item.name === removeItem.name && item.age === removeItem.age) {
arr.splice(index, 1);
}
});
console.log(arr);
/*
输出结果:
[
{ name: 'Bob', age: 18 },
{ name: 'Tom', age: 22 }
]
*/
三、JS循环遍历数组对象
JS循环遍历数组对象是非常常见的操作,我们可以使用for
循环、forEach
、map
等方法对数组对象进行遍历,具体代码实现如下:
const arr = [
{ name: 'Bob', age: 18 },
{ name: 'Lucy', age: 20 },
{ name: 'Tom', age: 22 }
];
// 使用for循环遍历
for(let i = 0; i < arr.length; i++) {
console.log(arr[i]);
}
// 使用forEach遍历
arr.forEach(item => console.log(item));
// 使用map遍历
const newArr = arr.map(item => item.name);
console.log(newArr); // 输出结果:['Bob', 'Lucy', 'Tom']
四、数组对象去重JS
有时候我们从后台获取的数据可能包含重复的对象,我们需要对数组对象进行去重。我们可以通过JS循环遍历数组对象的方式,使用ES6的Set
去重,具体代码实现如下:
const arr = [
{ name: 'Bob', age: 18 },
{ name: 'Lucy', age: 20 },
{ name: 'Tom', age: 22 },
{ name: 'Bob', age: 18 }
];
const newArr = Array.from(new Set(arr));
console.log(newArr);
/*
输出结果:
[
{ name: 'Bob', age: 18 },
{ name: 'Lucy', age: 20 },
{ name: 'Tom', age: 22 }
]
*/
五、对象数组拼接JS
在实际开发中,我们可能需要将多个对象数组进行拼接。我们可以通过JS循环遍历数组对象的方式,使用concat
方法进行拼接,具体代码实现如下:
const arr1 = [
{ name: 'Bob', age: 18 },
{ name: 'Lucy', age: 20 },
];
const arr2 = [
{ name: 'Tom', age: 22 },
{ name: 'Jack', age: 24 },
];
const newArr = arr1.concat(arr2);
console.log(newArr);
/*
输出结果:
[
{ name: 'Bob', age: 18 },
{ name: 'Lucy', age: 20 },
{ name: 'Tom', age: 22 },
{ name: 'Jack', age: 24 },
]
*/
六、JS找出数组对象中最大的数
如果我们有一个对象数组,每个对象中都有一个数字属性,我们可以通过JS循环遍历数组对象的方式,找出其中数字属性的最大值,具体代码实现如下:
const arr = [
{ name: 'Bob', score: 80 },
{ name: 'Lucy', score: 90 },
{ name: 'Tom', score: 85 }
];
let maxScore = 0;
arr.forEach(item => {
maxScore = Math.max(maxScore, item.score);
});
console.log(maxScore); // 输出结果:90
七、检测JS对象是数组类型
如果我们需要判断一个JS对象是否为数组类型,我们可以使用Array.isArray()
方法,具体代码实现如下:
const arr = [1, 2, 3];
console.log(Array.isArray(arr)); // 输出结果:true
const obj = { name: 'Bob' };
console.log(Array.isArray(obj)); // 输出结果:false
八、创建对象或数组JS
如果我们需要创建一个新的JS对象或数组,可以使用对象字面量或数组字面量进行创建,具体代码实现如下:
// 创建新的对象
const newObj = { name: 'Bob', age: 18 };
console.log(newObj); // 输出结果:{ name: 'Bob', age: 18 }
// 创建新的数组
const newArr = [1, 2, 3];
console.log(newArr); // 输出结果:[1, 2, 3]
以上就是JS循环数组对象找出指定对象的一些常见操作,这些操作在实际开发中非常常见,希望能对大家有所帮助。