,可以使用循环遍历对象的属性,并将具有相同键的属性值连接成一个字符串,然后将该字符串输出。下面是一个示例代码:
function displayObjectsWithSameKey(objects) {
var result = '';
var keys = {};
// 遍历对象数组,统计相同键的个数
for (var i = 0; i < objects.length; i++) {
var obj = objects[i];
var objKeys = Object.keys(obj);
for (var j = 0; j < objKeys.length; j++) {
var key = objKeys[j];
keys[key] = keys[key] || 0;
keys[key]++;
}
}
// 遍历键的统计结果,将具有相同键的属性值连接成字符串
for (var key in keys) {
if (keys[key] > 1) {
var values = [];
for (var i = 0; i < objects.length; i++) {
var obj = objects[i];
if (obj.hasOwnProperty(key)) {
values.push(obj[key]);
}
}
result += key + ': ' + values.join(', ') + '; ';
}
}
return result.trim();
}
// 测试数据
var objects = [
{ name: 'Alice', age: 25, occupation: 'engineer' },
{ name: 'Bob', age: 30, occupation: 'developer' },
{ name: 'Charlie', age: 35, occupation: 'manager' },
{ name: 'Dave', age: 25, occupation: 'engineer' },
{ name: 'Eve', age: 30, occupation: 'developer' },
{ name: 'Frank', age: 35, occupation: 'manager' }
];
console.log(displayObjectsWithSameKey(objects));
在上述代码中,我们定义了一个名为displayObjectsWithSameKey
的函数,该函数接受一个对象数组作为参数。函数首先创建了一个空字符串result
和一个空对象keys
,用于存储键的统计结果。然后,使用两层循环遍历对象数组,统计每个键的个数。接下来,再次遍历键的统计结果,如果某个键的个数大于1,则将具有相同键的属性值连接成一个字符串,添加到result
中。最后,返回去除首尾空格的result
。
对于上述代码中的对象数组,输出结果为:age: 25, 30, 35;
,表示具有相同键age
的对象的属性值分别为25
、30
和35
。
在腾讯云中,可以使用云数据库CDB来存储对象数据。具体可以参考腾讯云云数据库CDB的介绍:云数据库 MySQL (CDB)。
领取专属 10元无门槛券
手把手带您无忧上云