Js如何判断数组为空 js 判断数组是否为空数组
JS\u600e\u4e48\u5224\u65ad\u4e00\u4e2a\u5bf9\u8c61\u662f\u5426\u4e3a\u7a7a\u89c6\u9891\u8bb2\u89e3\u662fjavascript\u9762\u5411\u5bf9\u8c61\u7f16\u7a0b\u8bed\u8a00\u4e2d\u5173\u4e8eObject\u7c7b\u7684\u77e5\u8bc6\uff0c\u91cd\u70b9\u8bb2\u89e3\u4e86\u901a\u8fc7\u8be5\u7c7b\u4e2d\u63d0\u4f9b\u7684\u65b9\u6cd5hasOwnProperty\u53ef\u4ee5\u5224\u65ad\u5c5e\u6027\u662f\u5426\u5b58\u5728\u3002\u7531\u4e8e\u9762\u5411\u5bf9\u8c61\u4e2d\u7684\u7ee7\u627f\u7279\u6027\uff0c\u90a3\u4e48\u5176\u4ed6\u5bf9\u8c61\u4e5f\u4f1a\u81ea\u52a8\u62e5\u6709\u8be5\u65b9\u6cd5\u3002
\u5224\u65ad\u6570\u7ec4\u662f\u5426\u4e3a\u7a7a\uff0c\u53ef\u4ee5\u7528length\u65b9\u6cd5\uff0c\u5982\uff1a
var a = [];
if(a.length ==0){
alert(1)
}else{
alert(2)
}
\u5224\u65ad\u6570\u7ec4\u4e3a\u7a7a\u4e0d\u80fd\u7528if(a),\u56e0\u4e3aa\u8fd9\u4e2a\u65f6\u5019\u662f\u4e00\u4e2a\u7a7a\u6570\u7ec4\u5bf9\u8c61\uff0cif\u4f1a\u5224\u65ad\u5f53\u524da\u662f\u5bf9\u8c61\uff0c\u8fd4\u56detrue\u3002
\u6269\u5c55\u8d44\u6599\uff1a
\u51fd\u6570\u7b80\u4ecb
\u51fd\u6570\u529f\u80fd\uff1a\u8fd4\u56de\u5411\u91cf\u4e2d\u5143\u7d20\u4e2a\u6570\uff0c\u6216\u6570\u7ec4\u4e2d\u957f\u5ea6\u6700\u957f\u7684\u90a3\u4e00\u7ef4\u7684\u957f\u5ea6\u3002
\u8bed\u6cd5\u683c\u5f0f\uff1a
n = length(M)
\u5bf9\u4e8e\u4e00\u4e2a\u975e\u7a7a\u7684\u6570\u7ec4\uff0c \u8fd4\u56de\u503cn\u5728\u6570\u503c\u4e0a\u548cmax(size(M))\u76f8\u7b49\uff0c\u5bf9\u4e8e\u4e00\u4e2a\u7a7a\u6570\u7ec4\uff0c n\u7b49\u4e8e0\u3002
\u76f8\u5173\u51fd\u6570\uff1andims\uff0cnumel\uff0csize
\u8fd4\u56de\u503c\uff1aNumber
\u793a\u4f8b\uff1a$("img").length;
HTML \u4ee3\u7801\uff1a
\u53c2\u8003\u8d44\u6599\u6765\u6e90\uff1a\u767e\u5ea6\u767e\u79d1-length
var a = [];
if(a.length ==0){
alert(1)
}else{
alert(2)
}
判断数组为空不能用if(a),因为a这个时候是一个空数组对象,if会判断当前a是对象,返回true的
数组判空直接用length属性即可
if (!a.length) {
alert('空数组')
}
假设a是一个数组,此处不判断a是不是数组了
a = [];
if(a.length>0){
alert(true);
} else {
alert(false);
}
js里面的数组对象,是有length属性的,可以根据length值,如果是0代表数组为空,
不知道你上面这样转换有什么作用
这是喜闻乐见的JS隐式转换问题
具体都在ECMA-262.pdf里有写
简单来说是这样的
===比较
1、如果类型不同,就[不相等]
2、如果两个都是数值,并且是同一个值,那么[相等];(!例外)的是,如果其中至少一个是NaN,那么[不相等]。(判断一个值是否是NaN,只能用isNaN()来判断)
3、如果两个都是字符串,每个位置的字符都一样,那么[相等];否则[不相等]。
4、如果两个值都是true,或者都是false,那么[相等]。
5、如果两个值都引用同一个对象或函数,那么[相等];否则[不相等]。
6、如果两个值都是null,或者都是undefined,那么[相等]。
==比较
1、如果两个值类型相同,进行 === 比较。
2、如果两个值类型不同,他们可能相等。根据下面规则进行类型转换再比较:
a、如果一个是null、一个是undefined,那么[相等]。
b、如果一个是字符串,一个是数值,把字符串转换成数值再进行比较。
c、如果任一值是 true,把它转换成 1 再比较;如果任一值是 false,把它转换成 0 再比较。
d、如果一个是对象,另一个是数值或字符串,把对象转换成基础类型的值再比较。对象转换成基础类型,利用它的toString或者valueOf方法。js核心内置类,会尝试valueOf先于toString;例外的是Date,Date利用的是toString转换。非js核心的对象,另说
e、任何其他组合(array数组等),都[不相等]。
所以你知道有这种坑就好, 写代码别用就是了
判断非空一般都是if (a.length) alert('非空')
绛旓細1銆佺洿鎺ョ敤for...in...閬嶅巻灞炴э紝缁撴灉涓虹湡鏄滈潪绌烘暟缁鈥濓紝鍚﹀垯鏄滅┖鏁扮粍鈥濓紝浠g爜濡備笅锛歠unction judgeObj锛坥bj锛墈 for(var a in obj){ return alert('闈炵┖瀵硅薄')} return alert('绌哄璞')} 2銆侀氳繃JSON鑷甫鐨.stringify鏂规硶鏉鍒ゆ柇锛屼唬鐮佸涓嬶細if(JSON.stringify(c)=='{}'){ console.log...
绛旓細2. 鍒ゆ柇瀵硅薄鏄惁娌℃湁浠讳綍鑷湁灞炴с傚鏋滃璞℃病鏈変换浣曡嚜鏈夊睘鎬э紝涔熷彲浠ヨ涓鸿瀵硅薄涓虹┖銆傚彲浠ヤ娇鐢∣bject.keys鏂规硶鑾峰彇瀵硅薄鐨勬墍鏈夎嚜鏈夊睘鎬ч敭鍚嶇粍鎴愮殑鏁扮粍锛岀劧鍚鍒ゆ柇鏁扮粍闀垮害鏄惁涓0銆備唬鐮佸涓嬶細javascript if .length === 0) { // 瀵硅薄娌℃湁鑷湁灞炴э紝鍙互璁や负璇ュ璞′负绌 } 瑙i噴锛氳繖绉嶆柟娉曞熀浜庡璞$殑灞炴ф潵...
绛旓細locationArray[temp]涓嶆槸鏈夋晥鐨鏁扮粍锛屽彲鑳絣ocationArray涓虹┖锛屾垨鑰卼emp鎿嶅嚭浜唋ocationArray鐨勭储寮曘俧or(var temp=0;temp<mineNum;temp++){ console.log(locationArray[temp]);//浣犲彲浠ヨ緭鍑虹湅鐪嬶紝console.log鍑芥暟涓嶈兘鍦↖E涓嬩娇鐢
绛旓細鍙互浣跨敤jquery鐨刲ength灞炴у疄鐜鍒ゆ柇鏁扮粍鏄惁涓虹┖銆傚叿浣撴楠ゅ涓嬶細闇瑕佸噯澶囩殑鏉愭枡鍒嗗埆鏄細鐢佃剳銆佹祻瑙堝櫒銆乽ltraedit銆1銆佸湪ue缂栬緫鍣ㄤ腑鏂板缓涓涓┖鐧界殑html鏂囦欢锛js鏂囦欢銆2銆佸湪ue缂栬緫鍣ㄤ腑杈撳叆浠ヤ笅html浠g爜銆3銆佸湪ue缂栬緫鍣ㄤ腑杈撳叆浠ヤ笅js浠g爜銆4銆佺紪杈戝畬鎴愪互鍚庯紝鍦╱e缂栬緫鍣ㄤ腑鐐瑰嚮淇濆瓨锛屾牸寮忛夋嫨UTF8鏃燘OM銆5銆佸湪...
绛旓細绛旀锛氬湪JavaScript涓紝鍙互浣跨敤`Array.prototype.includes`鏂规硶鏉鍒ゆ柇鏁扮粍涓槸鍚﹀寘鍚煇涓椤广傝缁嗚В閲婏細JavaScript涓殑鏁扮粍瀵硅薄鎻愪緵浜嗕竴涓悕涓篳includes`鐨勬柟娉曪紝璇ユ柟娉曠敤浜庡垽鏂暟缁勪腑鏄惁瀛樺湪鐗瑰畾鐨勫厓绱犮傝鏂规硶浼氳繑鍥炰竴涓竷灏斿硷紝濡傛灉鏁扮粍涓寘鍚簡鎸囧畾鐨勫厓绱狅紝鍒欒繑鍥瀈true`锛涘鏋滄病鏈夋壘鍒版寚瀹氱殑鍏冪礌锛屽垯杩斿洖`...
绛旓細濡傛灉json杩斿洖鏄鏁扮粍鐨勮瘽锛岀敤length鏄彲浠鍒ゆ柇鐨勶紝濡傛灉鏄垽鏂槸鍚︽槸绌哄璞″彲浠ュ弬鑰冧笅jquery鐨刬sEmptyObject鏂规硶銆傛瘮濡俲son涓簕}鐨勬椂鍊欍傝繖涓師鐞嗗疄鐜颁篃寰堢畝鍗曪細isEmptyObject: function( obj ) {
绛旓細鍙互鐢ㄦ暟缁勭殑includes鍑芥暟鍒ゆ柇鏁扮粍涓槸鍚﹀瓨鍦ㄦ煇涓笺1銆佸垱寤轰竴涓暟缁勶紝涓烘暟缁勬坊鍔犳垚鍛橈紝鐒跺悗灏嗚繖涓暟缁勮祴鍊肩粰涓涓彉閲忥紝杩欓噷浠rr涓轰緥锛2銆佷娇鐢ㄦ暟缁勭殑includes鍑芥暟锛屽嚱鏁扮殑鍙傛暟涓烘煡鎵剧殑鍊硷紝濡傛灉鏁扮粍涓湁琚煡鎵剧殑鍊硷紝鍒欏嚱鏁拌緭鍑衡渢rue鈥濓細3銆佸鏋滄暟缁勪腑娌℃湁琚煡鎵剧殑鍊硷紝鍒欏嚱鏁颁細杈撳嚭鈥渇alse鈥濓細
绛旓細1. 浣跨敤typeof杩愮畻绗鍒ゆ柇鏁版嵁绫诲瀷锛歵ypeof鏄疛avaScript涓殑涓涓竴鍏冭繍绠楃锛屽彲浠ヨ繑鍥炲彉閲忓湪瑙i噴鏃惰瑙嗕负鐨勬暟鎹被鍨嬨備緥濡傦細javascript let num = 123;console.log; // 杈撳嚭 "number"typeof涓嶄粎鍙互妫娴嬪熀鏈被鍨嬶紝杩樺彲浠ユ娴嬪璞$被鍨嬨傚浜庡璞$被鍨嬶紝typeof浼氳繑鍥"object"銆傞渶瑕佹敞鎰忕殑鏄紝瀵逛簬鏁扮粍鍜宯ull锛...
绛旓細鎴戠畝鍗曞啓浜嗕笅锛屽氨鏄幏鍙栨墍鏈夌殑raido锛岀湅checked鐨勬绘暟鏄惁绛変簬radio鐨勬绘暟/4function chk(){ var i = k = 0; var r = document.getElementsByTagName('input'); var l = r.length; for ( var j=0; j<l; j++ ){ if ( r[j].type != 'radio' ) continue; k++; if ( ...
绛旓細鍧5锛鍒ゆ柇鏁扮粍涓虹┖ 鍒ゆ柇鏁扮粍涓虹┖鏃朵笉鑳藉儚鍙橀噺涓鏍风洿鎺ョ敤if(!arr)锛屽洜涓烘暟缁勪笉浼氬儚鍙橀噺閭f牱闅愬紡杞崲锛屾墍浠ュ彲浠ュ湪浣犵煡閬揳rr鏄釜鏁扮粍鐨勬儏鍐典笅浣跨敤arr.length>0鍒ゆ柇锛屼絾鏈変簺鎯呭喌涓嬪彲鑳介偅涓彉閲忚繕涓嶆槸鏁扮粍锛屽氨涓嶈兘鍘籰ength锛屾墍浠ョ綉涓婄湅浜嗕竴涓瘮杈冨懆鍏ㄧ殑鏂规硶锛屽氨鏄厛鍒ゆ柇璇ュ璞″埌 搴曟槸涓嶆槸鏁扮粍绫诲瀷鐨勶紝...