js基础--数组
2017-03-04 09:28
330 查看
定义:
定义1(字面量定义):
var arr=[1,2,3];
定义2(对象定义);
var arr=new Array();
var arr=new Array(1,2,3);
注意:
var arr=new Array(3);//代表定义一个数组,长度为3,每个值都为undefined
数组的操作:1获取数组的值通过索引值获取。
2通过索引值给数组赋值。
数组的遍历:使用for(var i=0;i<arr.length;i++)
eg:
冒泡法:
练习题:
// 求2个数中的最大值
function max(a,b){
if(a>=b){return a;}
else {return b;}
}
alert(max(7,3))
// 求3个数中的最大值
function max(a,b,c){
var max=a>b?a:b;
max=max>c?max:c;
return max;
}
alert(max(1,2,0.5));
// 求一组数中的最大值
function max(arr)
{
var max=arr[0];
for(var i=0;i<arr.length;i++)
{
if(max<arr[i])
{
max=arr[i];
}
}
return max;
}
var arr=[2,3,1,5,6,89,0.4];
console.log(max(arr));
// 求一组数中的最小值
function min(arr)
{
var min=arr[0];
for(var i=0;i<arr.length;i++)
{
if(min>arr[i])
{
min=arr[i];
}
}
return min;
}
var arr=[2,3,1,5,6,89,0.4];
console.log(min(arr));
// 翻转数组,返回一个新数组
// 方式一:定义新数组
function reversal(arr){
var newArr=[];
for(var i=0;i<arr.length;i++)
{
newArr[i]=arr[arr.length-1-i];
}
return newArr;
}
var arr=[2,3,1,5,6,89,0.4];
console.log(reversal(arr));
// 方式二:利用原数组
function reversal(arr){
var temp;
for(var i=0;i<parseInt(arr.length/2);i++)
{ var j=arr.length-1-i;
temp=arr[i];
arr[i]=arr[j];
arr[j]=temp;
}
return arr;
}
var arr=[2,3,1,5,6,89,0.4];
console.log(reversal(arr));
// 对数组排序,从小到大
function sort(arr){
var temp;
var flag=true;
for(var i=0;i<arr.length;i++)
{
for(var j=0;j<arr.length-i;j++)
{
if(arr[j]>arr[j+1])
{
temp=arr[j];
arr[j]=arr[j+1];
arr[j+1]=temp;
flag=false;
}
}
if(flag)
{break;}
}
return arr;
}
var arr=[2,3,1,5,6,89,0.4];
console.log(sort(arr));
// 求阶乘
function factorial(num){
var sum=1;
for(var i=1;i<=num;i++)
{sum*=i;}
return sum;
}
alert(factorial(4));
// 求1!+2!+3!+....+n!
function factorialSum(num)
{
var sum=0;
var j=1;
for(var i=1;i<=num;i++)
{
j*=i;
sum+=j;
}
return sum;
}
alert(factorialSum(4));
// 判断一个数是否是素数
function isPrime(num)
{
for(var i=2;i<Math.sqrt(num);i++)
{
if(num%i===0)
{return false;}
}
return true;
}
alert(isPrime(7));
// 求斐波那契数列Fibonacci中的第n个数是多少?
// 1 1 2 3 5 8 13 21...
function Fibonacci(num){
var next=1;
var current=0;
pre=0;
for(var i=1;i<num;i++){
current=pre+next;
pre=next;
next=current;
}
return current;
}
alert(Fibonacci(8));
定义1(字面量定义):
var arr=[1,2,3];
定义2(对象定义);
var arr=new Array();
var arr=new Array(1,2,3);
注意:
var arr=new Array(3);//代表定义一个数组,长度为3,每个值都为undefined
数组的操作:1获取数组的值通过索引值获取。
2通过索引值给数组赋值。
数组的遍历:使用for(var i=0;i<arr.length;i++)
eg:
冒泡法:
// 冒泡排序,从小到大,假设数组长度为5 // 第一次比较4次 // 第二次比较3次 // 第三次比较2次 // 第四次比较1次 function sort(arr) { var temp; var flag=true;//若某次排序没有交换,说明已经是正确顺序,无需再排序 for(var i=0;i<arr.length-1;i++)//总共进行length-1次排序 { for(var j=0;j<arr.length-1-i;j++)//每次进行length-1-i次 { if(arr[j]>arr[j+1]) { temp=arr[j]; arr[j]=arr[j+1]; arr[j+1]=temp; flag=false; } } if(flag !==false) { break; } } return arr; } var arr=[10,50,10,20,54,23]; console.log(sort(arr));
练习题:
// 求2个数中的最大值
function max(a,b){
if(a>=b){return a;}
else {return b;}
}
alert(max(7,3))
// 求3个数中的最大值
function max(a,b,c){
var max=a>b?a:b;
max=max>c?max:c;
return max;
}
alert(max(1,2,0.5));
// 求一组数中的最大值
function max(arr)
{
var max=arr[0];
for(var i=0;i<arr.length;i++)
{
if(max<arr[i])
{
max=arr[i];
}
}
return max;
}
var arr=[2,3,1,5,6,89,0.4];
console.log(max(arr));
// 求一组数中的最小值
function min(arr)
{
var min=arr[0];
for(var i=0;i<arr.length;i++)
{
if(min>arr[i])
{
min=arr[i];
}
}
return min;
}
var arr=[2,3,1,5,6,89,0.4];
console.log(min(arr));
// 翻转数组,返回一个新数组
// 方式一:定义新数组
function reversal(arr){
var newArr=[];
for(var i=0;i<arr.length;i++)
{
newArr[i]=arr[arr.length-1-i];
}
return newArr;
}
var arr=[2,3,1,5,6,89,0.4];
console.log(reversal(arr));
// 方式二:利用原数组
function reversal(arr){
var temp;
for(var i=0;i<parseInt(arr.length/2);i++)
{ var j=arr.length-1-i;
temp=arr[i];
arr[i]=arr[j];
arr[j]=temp;
}
return arr;
}
var arr=[2,3,1,5,6,89,0.4];
console.log(reversal(arr));
// 对数组排序,从小到大
function sort(arr){
var temp;
var flag=true;
for(var i=0;i<arr.length;i++)
{
for(var j=0;j<arr.length-i;j++)
{
if(arr[j]>arr[j+1])
{
temp=arr[j];
arr[j]=arr[j+1];
arr[j+1]=temp;
flag=false;
}
}
if(flag)
{break;}
}
return arr;
}
var arr=[2,3,1,5,6,89,0.4];
console.log(sort(arr));
// 求阶乘
function factorial(num){
var sum=1;
for(var i=1;i<=num;i++)
{sum*=i;}
return sum;
}
alert(factorial(4));
// 求1!+2!+3!+....+n!
function factorialSum(num)
{
var sum=0;
var j=1;
for(var i=1;i<=num;i++)
{
j*=i;
sum+=j;
}
return sum;
}
alert(factorialSum(4));
// 判断一个数是否是素数
function isPrime(num)
{
for(var i=2;i<Math.sqrt(num);i++)
{
if(num%i===0)
{return false;}
}
return true;
}
alert(isPrime(7));
// 求斐波那契数列Fibonacci中的第n个数是多少?
// 1 1 2 3 5 8 13 21...
function Fibonacci(num){
var next=1;
var current=0;
pre=0;
for(var i=1;i<num;i++){
current=pre+next;
pre=next;
next=current;
}
return current;
}
alert(Fibonacci(8));
相关文章推荐
- 【Js】数组基础知识-思维导图
- JS基础知识(数组)
- JavaScript基础精华03(String对象,Array对象,循环遍历数组,JS中的Dictionary,Array的简化声明)
- 1-5-JS基础-数组应用及实例应用
- js数组基础整理
- Js整理备忘(04)——数组基础
- JS-数组基础方法详细总结
- 贰、js的基础(三)数组
- JavaScript基础----29JS内置对象-Array数组对象
- JS基础之数组,字符串等的操作
- js 数组基础
- js基础--javascript基础概念之数组
- js 基础知识 对象与数组
- JS基础——数组总结
- js基础练习---获取数组内容实现简单日历的效果
- [妙味JS基础]第十二课:数组随机、数组去重
- JavaScript基础(基本语法:变量、语句、数组、函数、对象、全局方法以及js与java不同,js与html关联)
- JS基础回顾,小练习(判断数组,以及函数)
- js循环数组各种方法array 汇总-基础