[英]Check if a value exists in an Array object in JavaScript or Angular
[英]JavaScript check if array object exists or undefined
如果新對象不存在,如何將其添加到數組中?
我檢查這個鏈接: 如何檢查數組元素是否存在於javascript中?
但不確定如何推送新對象!
var element = []; element['obj'] = 'one'; if (typeof element['obj']['bg'] === 'undefined') { console.log('not defined'); element['obj']['bg'] = 'red'; console.log(element); } else { console.log('defined'); }
元素的類型是string
,而不是對象或數組。
將特定變量更改為數組:
var element = {};
element['obj'] = ['one'];
if ( typeof element['obj']['bg'] === 'undefined' ) {
console.log('not defined');
element['obj']['bg'] = 'red';
console.log(element);
} else {
console.log('defined');
}
或者更好的對象:
element['obj'] = {};
element['obj']['id'] = 'one';
string
對象是不可變對象。
var element = [];
定義一個數組而不是一個對象。 要將新值推送到數組中,您需要使用push
方法:
element.push({'obj' : 'one'});
但我認為你不需要在這里創建一個數組,而只需創建一個對象。 像var element = {};
一樣聲明你的對象
像這樣 line element['obj'] = 'one';
有效,您有一個鍵為obj
且值為one
。
當您編寫element['obj']['bg']
您嘗試訪問對象內的對象。 因此,在將值設置為red
之前,您需要創建對象:
element['obj'] = {};
element['obj']['bg'] = 'red';
完整示例:
var element = {}; element['obj'] = {}; if (typeof element['obj']['bg'] === 'undefined') { console.log('not defined'); element['obj']['bg'] = 'red'; console.log(element); } else { console.log('defined'); }
嘗試預先插入一個空數組;
var element = [];
element['obj'] = 'one';
if ( typeof element['obj']['bg'] === 'undefined' ) {
console.log('not defined');
element['obj'] = [element['obj']];
element['obj']['bg'] = 'red';
console.log( element);
} else {
console.log('defined');
}
var element = [];
element['obj'] = 'one';
if ( typeof element['obj']['bg'] === 'undefined' ) {
console.log('not defined');
element['obj'] = {'bg':'red'};
console.log("My value:"+element['obj']['bg'] );
} else {
console.log('defined');
}
你可以試試這個方法。
var element = [],item = [];
item['obj'] = 'one';
element.push(item);
if ( typeof element['obj']['bg'] === 'undefined' ) {
console.log('not defined');
item['bg']='red';
element.push(item);
console.log( element);
} else {
console.log('defined');
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.