JavaScriptで値によるオブジェクトの検索
このようなオブジェクトがあるとします-
const obj = { "name": "Vivek Sharma", "occupation": "Software Engineer", "age": 23, "contacts": [{ "name": "Mukul Sharma", "occupation": "Software Engineer", "age": 31, }, { "name": "Jay Sharma", "occupation": "Software Engineer", "age": 27, }, { "name": "Rajan Sharma", "occupation": "Software Engineer", "age": 32, }] };
ここでは、1つのレベルまでネストされていますが、ネストをさらに深くすることもできます。値を受け取り、引数で指定された値を持つすべてのキーの配列を返すオブジェクト関数Object.prototype.keysOf()を作成する必要があります。
それでは、この関数のコードを書いてみましょう-
例
const obj = { "name": "Vivek Sharma", "occupation": "Software Engineer", "age": 23, "contacts": [{ "name": "Mukul Sharma", "occupation": "Software Engineer", "age": 31, }, { "name": "Jay Sharma", "occupation": "Software Engineer", "age": 27, }, { "name": "Rajan Sharma", "occupation": "Software Engineer", "age": 32, }] }; const keysOf = function(val, obj = this, res = []){ const keys = Object.keys(obj); for(let ind = 0; ind < keys.length; ind++){ if(obj[keys[ind]] === val){ res.push(keys[ind]); }else if(typeof obj[keys[ind]] === 'object' && !Array.isArray(obj[keys[ind]])){ keysOf(val, obj[keys[ind]], res); }; }; return res; }; Object.prototype.keysOf = keysOf; console.log(obj.keysOf(23));
出力
コンソールの出力は-
になります['age']
-
JavaScriptの値に基づいてオブジェクトをグループ化する方法は?
以下は、JavaScriptの値に基づいてオブジェクトをグループ化するコードです- 例 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>Document</title> <style>
-
2つのオブジェクトを比較しながら配列のネストされた値をグループ化-JavaScript
次のJSONオブジェクトがあるとします- const input = { "before": { "device": [ { "id": "1234", "price": "10",