javascript多维数组是有效的
我有一个数组,看起来有点像javascript多维数组是有效的,javascript,arrays,multidimensional-array,isset,Javascript,Arrays,Multidimensional Array,Isset,我有一个数组,看起来有点像内存[indexGroup][indexItem]。我如何检查它是否有效,换句话说,当使用console.log并获取一个值时,它是否有效,而不是null、未定义或其他非值。空、0和false有效。这些不会给出错误 这就是我最终得到的结果(似乎有效),但这是一团混乱: function hasMemory() { if( typeof memory === 'undefined') return; if( typeof memory[indexGroup
内存[indexGroup][indexItem]
。我如何检查它是否有效,换句话说,当使用console.log
并获取一个值时,它是否有效,而不是null
、未定义
或其他非值。空、0
和false有效。这些不会给出错误
这就是我最终得到的结果(似乎有效),但这是一团混乱:
function hasMemory() {
if( typeof memory === 'undefined') return;
if( typeof memory[indexGroup] === 'undefined') return;
if( memory[indexGroup] === null ) return;
if( typeof memory[indexGroup][indexItem] === 'undefined') return;
if( memory[indexGroup][indexItem] === null) return;
if( memory[indexGroup][indexItem] !== true ) return;
return true;
}
情节
未设置内存
未设置内存[indexGroup]
未设置内存[indexGroup][indexItem]
function hasMemory() {
return memory && memory[indexGroup] && memory[indexGroup][indexItem]
}
处理内存[indexGroup][indexItem]为0或false的情况,基于
undefined == null
null == undefined
您可以添加到条件内存[indexGroup][indexItem]=空
处理内存[indexGroup][indexItem]为0或false的情况,基于
undefined == null
null == undefined
您可以添加到条件
内存[indexGroup][indexItem]=空
通过对空
执行松散检查,您可以同时检查空
和未定义
,但对0
或假
无效
var u=未定义;
var n=null;
var z=0;
var f=假;
console.log(u==null);
console.log(n==null);
console.log(z==null);
console.log(f==null)
通过对null
执行松散检查,您可以同时检查null
和undefined
,但不适用于0
或false
var u=未定义;
var n=null;
var z=0;
var f=假;
console.log(u==null);
console.log(n==null);
console.log(z==null);
console.log(f==null)
函数hasMemory(){return Boolean(memory&&memory[indexGroup]&&memory[indexGroup][indexItem])
@Thomas如果这样做有效,也许可以添加它作为答案?:)<代码>函数hasMemory(){return Boolean(memory&&memory[indexGroup]&&memory[indexGroup][indexItem])@Thomas如果这有效,可能会将其添加为答案?:)所以它会检查这些值是否。。。什么?有效值?这将检查未定义
,空
,0
或空字符串
。因此,如果您需要接受除undefined/null
之外的其他内容,则逻辑将崩溃。这不适用于内存[indexGroup][indexItem]
为0
或false
的情况。此外,没有理由返回true
或false
。它在功能上等同于执行return(true)?true:false
。因此它会检查这些值是否。。。什么?有效值?这将检查未定义
,空
,0
或空字符串
。因此,如果您需要接受除undefined/null
之外的其他内容,则逻辑将崩溃。这不适用于内存[indexGroup][indexItem]
为0
或false
的情况。此外,没有理由返回true
或false
。它在功能上等同于执行return(true)?真:假
。