javascript オブジェクトの要素の数を取得する
- 作成日 2020.10.15
- 更新日 2022.07.11
- javascript
- javascript
javascriptで、Object.keysを使って、オブジェクトの要素の数を取得するサンプルコードを記述してます。
環境
- OS windows10 pro 64bit
- Apache 2.4.43
- ブラウザ chrome 103.0.5060.114
Object.keys使い方
Object.keysを使って、まずkeyを取得してからkeyの長さを取得して、要素の数を数えることで要素の数を取得します。
let obj = {
sample1: {
a: 1,
b: 2
},
sample2: {
a: 1,
b: 2
}
}
console.log(Object.keys(obj));
console.log(Object.keys(obj).length); // 2
実行結果
「for in」を使用して、カウントすることも可能です。
const obj = {
sample1: {
a: 1,
b: 2
},
sample2: {
a: 1,
b: 2
}
}
function lenObj(obj) {
let len = 0;
for(let key in obj){
len++;
}
return len;
}
console.log(lenObj(obj)); // 2
パフォーマンスは、どちらを使用してもあまり変わりません。
実行回数:1000000回 関数名:Object.keys 実行時間:10.0(ms)
実行回数:1000000回 関数名:for in 実行時間:11.9(ms)
サンプルコード
以下は、
「表示」ボタンをクリックして、用意しているオブジェクトの要素の数を表示する
サンプルコードとなります。
※cssには「bootstrap material」を使用してます。
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="utf-8">
<title>mebeeサンプル</title>
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:300,400,500,700|Material+Icons">
<link rel="stylesheet"
href="https://unpkg.com/bootstrap-material-design@4.1.1/dist/css/bootstrap-material-design.min.css"
integrity="sha384-wXznGJNEXNG1NFsbm0ugrLFMQPWswR3lds2VeinahP8N0zJw9VWSopbjv2x7WCvX" crossorigin="anonymous">
</head>
<style>
.main {
margin: 0 auto;
margin-top: 200px;
display: flex;
flex-direction: column;
align-items: center;
font-size: 25px;
width: 500px;
}
</style>
<script>
function hoge() {
// オブジェクト
let obj = {
sample1: {
a: 1,
b: 2
},
sample2: {
a: 1,
b: 2
}
}
// keyを取得して長さを取得する
let len = Object.keys(obj).length;
// 表示用要素取得
let elm = document.getElementsByClassName("badge")[0];
elm.textContent = len;
}
</script>
<body>
<div class="main">
<h2><span class="badge badge-primary">実行結果</span></h2>
<button type="button" onclick="hoge()" class="btn btn-raised btn-secondary">
表示
</button>
</div>
</body>
</html>
オブジェクトの要素の数が表示されていることが確認できます。
-
前の記事
javascript オブジェクトをコピーまたはマージする 2020.10.14
-
次の記事
C# textboxの値を全選択する 2020.10.15
コメントを書く