一个数组分别用“,”和“|”分隔怎么计算“|”前面有多少个元素,并返回“|”前面一个元素的值is数组问题

解决方案 »

  1.   

    这个自己去做判断呗var _al = ["1" , "2" , "3|4"..],
        _tmp,
        _new_al = [];
    for(var i = 0 , len = _al.length; i < len; i++){
        _tmp = _al[i].split("|")[1] || "";
        if( _tmp ){
            _new_al.push( _al[i].split("|")[1] );
        };
    };
    alert( _new_al );没验证  自己试试
      

  2.   

    var str = '1,2,3,4|5,6,7,8|9';
    while(var num = str.indexOf('|')) {
        alert(str,charAt(num-1));
    }
      

  3.   

    //如果是串
    s = '1,2,3|4,5';
    document.write(s.split('|')[0].split(',').pop()); //3//如果是数组
    a = [1, 2, '3|4', 5];
    s = a.join(',');
    document.write(s.split('|')[0].split(',').pop()); //3
      

  4.   


    // 这样可以取到每个'/'前面的数值
    a = [1, 2, '3/4', '5/6',7,8,'10/0','9/1',3,5,4,1,2,'2/2','3/3'];
    b = a.join(',');
    for(var i=0;i<b.split('/').length-1;i++){
        alert(b.split('/')[i].split(',').pop());
    }
      

  5.   

    var str = '1,2,3,4|5,6,7,8|9';
    while(num = str.indexOf('|')) {
        alert(str,charAt(num-1));
      

  6.   

    var str = '1,2,3,4|5,6,7,8|9';
    while(num = str.indexOf('|')) {
        alert(str.charAt(num-1));
      

  7.   

    先错了  var str = '1,2,3,4|5,6,7,8|9';
    while(str.indexOf('|') != -1) {
        alert(str.charAt(str.indexOf('|')-1));
        str = str.substring(str.indexOf('|')+1);
      

  8.   


    这样也行吧var str = '1,2,3,4|5,6,7,8|9|';
    var i = -1;
    while ( (i = str.indexOf('|',i + 1)) != -1) {
        document.write(str[i - 1]);
    }