首页 前端 javascript 正文

js数组自动根据下标排序问题

long 2021-03-01 14:39 js 人气108

js的数组跟php是不同的,js的数组会根据数字key从小到大自动排序。

比如下面的代码:



var arr = [];
arr['1']='aaa';
arr['3']='bbb';
arr['2']='ccc';
for (k in arr) {
console.log(arr[k]);
}

结果是

aaa

ccc

bbb

实际上,arr的顺序被重新排列了,key'2'在'3'的前面,这个跟php是不同的。


我遇到的需求是key是数字(id),value是字符串。我想组成一个列表结构,按照插入的顺序排列。目前的解决办法是数字前加个空格。修改如下:


var arr = [];
arr[' 1']='aaa';
arr[' 3']='bbb';
arr[' 2']='ccc';
for (k in arr) {
console.log(arr[k]);
}

结果是

aaa

bbb

ccc

实在没办法了,key和value传给后台php,获取了key之后,在php端把key使用 intval()转成int型数字

公众号
小程序
网站统计
  • 文章总数:249
  • 总点击量:34970
  • 评论总数:27
  • 网站运行:445 天