数组的数学操作
编写一段js代码,要求:定义一个整数数组,名称为arr,初始化赋值{1,2,3,4,5};将数组每个元素值*2,保存至数组,利用document.write重新输出数组每个元素。
<html>
<head>
<meta charset="utf-8">
</head>
<body>
</body>
<script>
Array.prototype.sum=function(){
var a=0;
for(var i=0;i<this.length;i++)a+=this[i];
return a;
}
Array.prototype.左移=function(){
var a=[];
var b=this[0];
for(var i=0;i<this.length-1;i++)a[i]=this[i+1];
a[this.length-1]=b;
return a;
}
Array.prototype.模=function(){
var a=0;
for(var i=0;i<this.length;i++)a+=this[i]*this[i];
return Math.sqrt(a);
}
Array.prototype.数积=function(n){
var a=[];
for(var i=0;i<this.length;i++)a[i]=this[i]*n;
return a;
}
Array.prototype.积=function(n){
if(n.length!=this.length){
alert("向量长度不一致");
return;
}
var a=[];
for(var i=0;i<this.length;i++)a[i]=this[i]*n[i];
return a;
}
Array.prototype.内积=function(n){
var a=[];
for(var i=0;i<this.length;i++)a[i]=this[i]*n;
return this.sum(a);
}
Array.prototype.外积=function(n){
if(n.length!=this.length){
alert("向量长度不一致");
return;
}
var a=[];
var b=n.左移()
for(var i=0;i<this.length;i++)a[i]=this[i]*b[i];
return a;
}
var aar=[1,2,3,4,5,6,7];
var aar1=[1,2,3]
document.write(aar.数积(2)+"<br />");
document.write(aar1.内积([4,5,6])+"<br />");
document.write(aar1.外积([4,5,6])+"<br />");
</script>
</html>