最近写js时碰到了当数组key不为数字时,获取数组的长度为0 的情况. 1.问题场景 var arr = new Array(); arr[‘s1‘] = 1001; console.log(arr.length); 通过chrome查看: 2.原因分析 js Array只支持数字索引,若指定的key为非数字索引,那么length为0. 另外,若key为数字索引,length的长度是根据key值得出的,比如一个数组a中key最大值为1000,value为1000,那么a的长度就是1001.只有a…
JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.易于人阅读和编写.同时也易于机器解析和生成.它基于JavaScript(Standard ECMA-262 3rd Edition - December 1999)的一个子集. JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C, C++, C#, Java, JavaScript, Perl, Python等).这些特性使JSON成为理想的数据交换语言. 比较标准的写法:…
$('.cc input').bind('input propertychange', function(){ var total = 0; $("input").each(function(){ total+=(parseFloat($(this).val())?parseFloat($(this).val()):0); }); /*total=total.toFixed(1);保留小数点后一位,因为js累加可能会出现小数点后出现多位的情况,可以通过它控制小数点位数*/ $(&quo…
<input type="number" name="price" id="priceVal" placeholder="请输入价格" oninput="if(value.length>10)value=value.slice(0,10)"/> 取值:price.value…
1.问题出现的过程,js解析php json_encode 的数据,无法获取长度信息,提示undefined   debug:       首先打印查看了php encode后的数据,返现最外层是一个中括号,误以为编码成了一个数组,于是将其强制类型转换为Object ,但是长度依然undefined        在同样是解析json的话题ppt页面,控制台打印json,发现有一个length的属性,起初以为是在php端加到数组中的,查看后发现并非如此,于是乎stackoverflow上查询得知…
服务端使用长整型(Int64)的数字,在浏览器端使用JS的number类型接收时,当这个实际值超过 (2^53-1)时,JS变量的值和实际值就会出现不相等的问题.常见场景比如使用雪花算法生成Id. 在服务端,数字长整型有64位(bit),第一位为符号位,后边为数字位. JS引擎中第一位为符号位,第二位到第十二位为指数位,数字位只剩最后52位,如图: 52位能表示的最大值为2的53次方-1,所以当服务端返回的值超过这个值时,js端就会出现位数丢失的问题,造成实际值和变量值错误的问题. 这个问题解决…
前言 在js中,数组作为一个特殊的对象.是我们常用的数据格式.今天就来梳理一下常用的数组方法. 1.基础 几种基础的就简单介绍一下:创建数组 var arr1 = new Array(); //括号可以传参,指定数组长度.目前arr1.length是0 var arr2 = new Array(3);//arr2.length是3 var arr3 = new Array(1,2,3,4); //当传多个参数时,js会把这些参数作为数组的初始值. console.log(arr3); // [1…
[转]js 中导出excel 较长数字串会变成科学计数法 在做项目中,碰到如题的问题.比如要将居民的信息导出到excel中,居民的身份证号码因为长度过长(大于10位),excel会自动的将过长的数字串转换成 科学计数法.现在网上找到解决方案之一: (在数字串前后加 " " 或' ' 或 tab等空白内容都是行不通的,excel会自动去掉这些.除非你在数字串中间加,当然这样就不是我们要的结果了) 解决方案之一:<td style="mso-number-format:'\…
1.使用注解@SerializedName来解决这个问题 2.比如有如下json数据:(key值是数字"1112") { "1112": "抖音" } 因为Java不能使用数字作为变量名称,那么对应类定义应该如此(将"1112"转换为"appName"): class App{ @SerializedName("1112") String appName; } 3.key值为Java关键…
JS中数组的操作 1.数组的创建 var arrayObj = new Array(); //创建一个数组 var arrayObj = new Array([size]); //创建一个数组并指定长度,注意不是上限,是长度 var arrayObj = new Array([element0[, element1[, ...[, elementN]]]]); 创建一个数组并赋值 要说明的是,虽然第二种方法创建数组指定了长度,但实际上所有情况下数组都是变长的,也就是说即使指定了长度为5,仍然可以…