Javascript
 Computer >> コンピューター >  >> プログラミング >> Javascript

JavaScriptにネストされたJavaScriptオブジェクトキーが存在するかどうかをテストします


オブジェクトへの参照があるとします-

let test = {};

このオブジェクトには、-

のようなネストされたオブジェクトが含まれる可能性があります(すぐにはありません)。
test = {level1: {level2: {level3: "level3"}}};

最初の引数として1つのオブジェクトを受け取り、その後の引数として任意の数のキー文字列を受け取るJavaScript関数を作成する必要があります。

関数は、キー文字列で表されるネストされた組み合わせがオブジェクトに存在するかどうかを判断する必要があります。

このためのコードは-

になります
const checkNested = function(obj = {}){
   const args = Array.prototype.slice.call(arguments, 1);
   for (let i = 0; i < args.length; i++) {
      if (!obj || !obj.hasOwnProperty(args[i])) {
         return false;
      }
      obj = obj[args[i]];
   };
   return true;
}
let test = {
   level1:{
      level2:{
         level3:'level3'
      }
   }
};
console.log(checkNested(test, 'level1', 'level2', 'level3'));
console.log(checkNested(test, 'level1', 'level2', 'foo'));

出力

そして、コンソールの出力は-

になります
true
false

  1. 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> <st

  2. JavaScriptでオブジェクトごとに一意のIDを作成するにはどうすればよいですか?

    以下は、オブジェクトごとに一意のIDを作成するためのコードです- 例 <!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>