JavaScript isset () эквивалент

Создание списка orig исключает необходимость перезагрузки / повторного просмотра csv:

orig = list(csv.reader(open("googlel.csv", "rb"), delimiter = ';'))
515
задан Boann 26 December 2014 в 23:45
поделиться

4 ответа

Обычно я использую оператор typeof :

if (typeof obj.foo !== 'undefined') {
  // your code here
}

Он вернет "undefined" либо если свойство не существует, либо его значение равно undefined .

(См. Также: Разница между undefined и не определенным. )

Есть и другие способы выяснить, существует ли свойство у объекта, например Метод hasOwnProperty :

if (obj.hasOwnProperty('foo')) {
  // your code here
}

И оператор in :

if ('foo' in obj) {
  // your code here
}

Разница между двумя последними состоит в том, что метод hasOwnProperty проверяет, существует ли свойство физически на объекте (свойство не наследуется).

Оператор in проверит все свойства, доступные в цепочке прототипов, например:

var obj = { foo: 'bar'};

obj.hasOwnProperty('foo'); // true
obj.hasOwnProperty('toString'); // false
'toString' in obj; // true

Как видите, hasOwnProperty возвращает false а оператор in возвращает true при проверке метода toString , этот метод определяется в цепочке прототипов, поскольку obj наследует форму Object.prototype .

895
ответ дан 22 November 2019 в 22:27
поделиться

javascript isset

let test = {
  a: {
    b: [0, 1]
  }
};

console.log(test.isset('a.b'))   // true
console.log(test.isset('a.b.1')) // true
console.log(test.isset('a.b.5')) // false
console.log(test.isset('a.c'))   // false
console.log('abv'.isset('0'))    // true
0
ответ дан 22 November 2019 в 22:27
поделиться
    isset('user.permissions.saveProject', args);

    function isset(string, context) {
        try {
            var arr = string.split('.');
            var checkObj = context || window;

            for (var i in arr) {
                if (checkObj[arr[i]] === undefined) return false;
                checkObj = checkObj[arr[i]];
            }

            return true;
        } catch (e) {
            return false;
        }
    }
-1
ответ дан 22 November 2019 в 22:27
поделиться
if (!('foo' in obj)) {
  // not set.
}
17
ответ дан 22 November 2019 в 22:27
поделиться
Другие вопросы по тегам:

Похожие вопросы: