用js判断一个数组中每个对象name是否一样
时间: 2023-07-01 19:07:57 浏览: 88
可以使用一个循环遍历数组中的每个对象,然后将对象的name属性存储在一个新数组中,再使用Set数据结构去重,最后判断去重后数组的长度是否为1即可。
代码示例:
```javascript
function checkSameName(arr) {
let nameArr = [];
for (let i = 0; i < arr.length; i++) {
nameArr.push(arr[i].name);
}
return new Set(nameArr).size === 1;
}
```
使用示例:
```javascript
const arr1 = [{ name: 'Tom' }, { name: 'Tom' }, { name: 'Tom' }];
console.log(checkSameName(arr1)); // true
const arr2 = [{ name: 'Tom' }, { name: 'Jerry' }, { name: 'Tom' }];
console.log(checkSameName(arr2)); // false
```
相关问题
js 判断数组中每个对象里的某个字段是否一致
你可以使用 JavaScript 中的 `every` 方法来判断数组中每个对象里的某个字段是否一致。以下是一个示例代码:
```javascript
// 假设我们有一个包含对象的数组
const arr = [
{ name: 'Alice', age: 25 },
{ name: 'Bob', age: 30 },
{ name: 'Charlie', age: 25 }
];
// 判断数组中每个对象的 age 字段是否都为 25
const isAgeConsistent = arr.every(obj => obj.age === 25);
console.log(isAgeConsistent); // 输出:false,因为不是每个对象的 age 字段都为 25
```
在上述示例中,`every` 方法接受一个回调函数作为参数,该回调函数会对数组中的每个元素执行一次。如果对于每个元素,回调函数返回的结果都为 `true`,则 `every` 方法的返回值为 `true`,否则返回值为 `false`。在回调函数中,我们可以通过访问对象的特定字段来进行判断。
js修改数组中每一个对象的其中一个字段
可以通过遍历数组,修改每一个对象的对应字段来实现。
假设有一个对象数组 arr,每个对象都有 name 和 age 两个字段,现在需要将每个对象的 age 字段都加上 1,可以采用以下方法:
```
for (let i = 0; i < arr.length; i++) {
arr[i].age += 1;
}
```
这样就可以将数组中每个对象的 age 字段都加上 1。
如果需要修改的字段名称是动态的,可以通过传入字段名作为参数,使用数组下标或对象属性名来修改对应字段。例如,需要将每个对象的 name 字段都改成 "new name",可以使用以下方法:
```
function updateField(arr, fieldName, value) {
for (let i = 0; i < arr.length; i++) {
arr[i][fieldName] = value;
}
}
// 调用方法
updateField(arr, 'name', 'new name');
```
这样就可以将数组中每个对象的 name 字段都修改为 "new name"。
阅读全文