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 数组问题的主要内容,如果未能解决你的问题,请参考以下文章

js 数组问题

JS数组问题

JS问题,JS中怎么将JSON字符串装换成二维数组

js数组追加数组

js 数组 数据去重排序

JS问题,JS中怎么将JSON字符串装换成二维数组