js 数组问题
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js 数组问题相关的知识,希望对你有一定的参考价值。
请问“0$1*2*3&4*5*6&7*8*9&10*11*12&”像这样的怎么样得到每一个值呢,即输出的时候能把每一个数字单独输出,谢谢
用正则先把数字取出来:
var str = "0$1*2*3&4*5*6&7*8*9&10*11*12&";var arr = str.match(/[\\d]+/g);
在循环一下:
for (var i = 0; i < arr.length; i++)console.log(arr[i]);
;
希望我的回答能帮到你哈,有问题可以追问,觉得好就点个赞,有用就采纳!
追答有问题再追问吧
参考技术A var ss = “0$1*2*3&4*5*6&7*8*9&10*11*12&”.split("$*&");for (var i = 0; i < ss.length; i++)
.....
Js中的数组sort()排序问题
var b = [1,30,15,20];
function compare(v1,v2)
if ( v1<v2 )
return -1;
else if ( v1>v2 )
return 1;
else
return 0;
b.sort(compare);
alert(b);
在js 数组中 sort()可以传入比较函数作为参数来排序数组里的数据
但是只有当函数返回正数的时候才会改变两个数据的位置,而当两个项相等时也不需要改变位置。
那么return 0有什么意义呢?
当两个数相等时,换位置和不换位置结果都一样,所以return 0确实没什么意义,但总不能把0排除在外吧,所以其实把0作为正数或负数处理都可以。
其实你的比较函数不用搞这么复杂的,这样即可:
function compare(v1,v2)return v1-v2;
同理,如果要从大到小排列就这样:
function compare(v1,v2)return v2-v1;
参考技术A
比较函数的参数 v1 和 v2 代表数组里的两个元素
如果 v1 小于 v2,排序后的数组 v1 在 v2 前面,此时返回一个负数 (即上面的 return -1)
如果 v1 等于 v2,排序后两者位置不变,此时返回 0 (即上面的 return 0)
如果 v1 大于 v2,排序后 v1 在v2 后面, 返回一个正数 (即上面的 return 1)
//比较函数一般简写成:arr.sort( function(a,b)
return a-b // 升序
);
arr.sort( function(a,b)
return b-a // 降序
);
// 对应上面的解释好好想下,不难理解为什么这样写
以上是关于js 数组问题的主要内容,如果未能解决你的问题,请参考以下文章