qq_35641924
2016-08-01 16:45
采纳率: 100%
浏览 7.7k

JS中如何从数组中获取自己想要的值?

如题 还请大神指点指点 谢谢

 <!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>找到合适的值</title>

<script>
window.onload = function (){
var arr = [ '100px', 'abc'-6, [], -98765, 34, -2, 0, '300', , function(){alert(1);}, null, document, [], true, '200px'-30,'23.45元', 5, Number('abc'), function(){ alert(3); }, 'xyz'-90 ];

/*
    1、找到arr里所有的数字:-98765, 34, -2, 0, 5
    2、找到可以转成数字的:'100px', -98765, 34, -2, 0, '300', '23.45元',  5 
    3、把转成数字以后,最大值判断出来:300
    4、把 NaN 所在的位置找出来:1 14 17  19
*/
    var num = '';
    for (var i = 0; i < arr.length; i++) {
        if(parseInt(arr[i])==arr[i]){
            document.write(arr[i]+'&nbsp');
    }

}
</script>

</head>

<body>
</body>
</html>

  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

3条回答 默认 最新

  • 已采纳

    typeof判断类型,然后parseFloat转换,判断结构是否NaN

     <script>
        var arr = ['100px', 'abc' -6, [], -98765, 34, -2, 0, '300',  function () { alert(1); }, null, document, [], true, '200px' - 30, '23.45元', 5, Number('abc'), function () { alert(3); }, 'xyz' - 90];
    
        var arrNum = [], arrCanParse = [],arrCanParseNum=[], max, arrNaNIndex=[],r;
        for (var i = 0; i < arr.length; i++) {
            if (typeof arr[i] == 'number' && !isNaN(arr[i])) arrNum.push(arr[i]);
            else {
                r = parseFloat(arr[i]);
                if (isNaN(r)) arrNaNIndex.push(i);
                else { arrCanParse.push(arr[i]);arrCanParseNum.push(r)}
            }
        }
        console.log(arrNum)
        console.log(arrCanParse)
        console.log(arrNum.concat(arrCanParseNum).sort(function (a, b) { return b - a })[0]);
        console.log(arrNaNIndex)
    </script>
    
    打赏 评论
  • 鱼弦 2016-08-02 00:24

    很简单,比如:
    首先定义一个数组 var arr=[2,4,5,3,5,3,0];//这里以整形数组为例
    确定数组的长度arr.length;
    利用循环语句遍历数组
    var arr=[2,4,5,3,5,3,0];
    var arrvalue;//用于存放取出的数组的值
    for(var i=0;i<arr.length;i++){
    arrvalue=arr[i];//数组的索引是从0开始的
    console.log(arrvalue);//把取出的值打印在控制台上
    }

    打赏 评论
  • GreenRookie 2016-08-02 01:40

    定义四个var 然后for循环array,结果复制给定义的var

    打赏 评论

相关推荐 更多相似问题