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>

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>

很简单,比如:
首先定义一个数组 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);//把取出的值打印在控制台上
}

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