- forループを使用する方法:
function countStringValues(array) {
let count = 0;
for (let i = 0; i < array.length; i++) {
if (typeof array[i] === 'object' && typeof array[i].toString() === 'string') {
count++;
}
}
return count;
}
// 使用例:
const array = [
{ name: 'John', age: 30 },
{ name: 'Jane', age: 25 },
'Hello',
42,
'World'
];
console.log(countStringValues(array)); // 結果: 3
- Array.prototype.reduce()を使用する方法:
function countStringValues(array) {
return array.reduce((count, value) => {
if (typeof value === 'object' && typeof value.toString() === 'string') {
return count + 1;
}
return count;
}, 0);
}
// 使用例:
const array = [
{ name: 'John', age: 30 },
{ name: 'Jane', age: 25 },
'Hello',
42,
'World'
];
console.log(countStringValues(array)); // 結果: 3
- Array.prototype.filter()を使用する方法:
function countStringValues(array) {
return array.filter(value => typeof value === 'object' && typeof value.toString() === 'string').length;
}
// 使用例:
const array = [
{ name: 'John', age: 30 },
{ name: 'Jane', age: 25 },
'Hello',
42,
'World'
];
console.log(countStringValues(array)); // 結果: 3
これらの方法を使用すると、配列内のオブジェクトのうち文字列値を持つ要素の数をカウントすることができます。それぞれの方法は異なるアプローチを取っていますが、同じ結果を得ることができます。