A. js 中如何取出数组中的值
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);//把取出的值打印在控制台上
}
js 获取数组中的最大值和最小值
var arr = [3,12,23,18,25,33,22,30,1]
方案一: 思想 首先对数组进行排序(小 》大),第一项为最小值,最后一项为最大值
var min;
var max;
arr.soft(function(a,b){return a-b;})
min = arr[0];
max = arr[arr.length-1];
方案二:采用Math对象里的min()方法和 max()方法,需要将比较的数一个一个的传递进来才能比较,但是可以通过以下方式转化即可;
var min = Math.min(arr);
console.log(min) // NAN
console.log(Math.min(3,12,23,18,25,33,22,30,1)) // 1
console.log(Math.max(3,12,23,18,25,33,22,30,1)) // 33
var min =eval("Math.min(" +arr.toString()+")"); // 1 采用字符串拼接
var min = eval("Math.max(" +arr.toString()+")");; // 33
var min = Math.min.apply(obj,arr) // 1 利用apply方法一项一项传质的特点
var max =Math.max.apply(obj,arr) // 33
B. JS中怎么求数组元素个数,arr.length不能求关联数组个数,求出来是0
当然是0,因为你的数组内容是空的,一个元素都没有
数组的话
arr['h']
=
123;//这种赋值方法是不支持的,在JS中所谓的关联数组,其实是一个对象,模拟关联数组的
var
arr
=
{},//创建一个对象
len
=
0;
arr["h"]
=
"hh";
arr["i"]
=
"gaj";
for(
var
i
in
arr)
{
len++;
}
alert(len);
//只能这么做的
上面的做法相当于:
var
arr
=
{
'h'
:
'hh',
'i'
:
'gaj'
}
C. js中arr的赋值不影响原数组,赋值和引用的区别
你说的是值类型和引用类型。
值类型都有一个独立的内存区域保存自己的值。
引用类型指向的是内存中的地址。
var ary1=[]; // 第一次定义,分配内存a
var ary2=ary1; // ary2 指向了内存a
ary2[0] =123; // 其实就是改变了ary1[0]
值类型:
var a =1,b=a; // 这时 b=1
b=3 // b=3,a还是1,因为独立的内存区域给B
D. javascript的数组arr怎么用啊
var arr = new Array();//申明一个无长度的arr数组,也可以这样:
//一维数组var arr = new Array("1","5","3"),
//二维数组,var arr = new Array(['1','2'],['3','4'])。还可以这样
//var arr=[1,2,3,4,5,6,7,8,9];
arr[0] = 1;arr[2] = 5;arr[3] = 3;//进行赋值
for(var i = 0; i < arr.length - 1; i++) {//进行从大到小的排序
for(var j = 1; j < arr.length; j++) {
if(arr[i] < arr[j]) {
var temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}
}
alert(arr.join("<"));//提示框中提示arr数组中的所有项且把没个元素用‘<’链接起来的字符
//串,其结果为:5<3<1。join(str)函数是把数组中的元素用str连接起来成
//字符串
E. 在js中: var arr=new Array(); arr[0]="asd"; arr[1]="dsa"; arr[8]="sad"; arr.length是多少求思路谢谢
长尘裂度是9
下面是测试代码:
<html>
<head>
</head>
<body>
<script>
var arr=new Array();
arr[0]="asd";
arr[1]="dsa";
arr[8]="sad";
alert(arr.length + "");
</script>
<派神闭p id="a">before</p>
</body>
</html>
解释:因为array是线性存储的所以当你瞎闷申请arr[8]空间的时候他会自动申请前面的空间,所以长度是0-8,是9
F. js中arr=[]怎么变成arr=[{id:1,name:b},{id:2,name:c}] 用push吗
//看你抄数据格袭式了
比如:arr = [1,2,3,4],arr2 = [a,b,c,d],key=['id','name'];
如果是上面的:
varrs=[],arr=[1,2,3,4],arr2=[a,b,c,d],key=['id','name'];
rs=arr.map(function(item,index){
varobj={};
obj[key[0]]=arr[index];
obj[key[1]]=arr2[index];
returnobj;
});
console.log(rs);
G. js中arr是什么意思,数组变量必须用这个定义吗
这个只是一个名字
方便你识别它是一个数组;你也可以用起的名字;只要不起冲突
H. javascript中的arr 是什么
arr把是JavaScript系统的东西,你老脊宴CTRL+f搜野桥索一下你的代码,里面可能有定义,看形式可能是一侍银个类。
I. js中数组和对象循环遍历
数组:
var arr = [‘a’,‘b’,'c'];
for (let i = 0;i<arr.length;i++){
console.log(i,arr[i])
};
对象:
var person = { name:'tom',age:'29',sex:'男‘};
// 对象如果要用for循环来遍历,需要先有Object.key()的方法来拿到手歼可迭代(遍历)的私有属性名的集合(数组)
var keys = Object.keys(person);
for (let i = 0;i<keys.length;i++){
console.log(keys[i]+":"+person[keys[i]]);
};
数组:
for(let key in arr){
// 值得注意的是,key为数组的索引,如若需要获取属性的值,则需要使用数组加索引下标 的形式来获取
console.log(key,arr[key]);
}
对象:
for(let key in obj){
// 值得注意的是,key为对象的键名,键值要以obj[key]的方式来获取
console.log(key,obj[key]);
}
数组:
for(let value of arr){
//值得注意的是,for...of跟for...in是不一样的,for...in遍历的是数组的索引,for...of遍历的是数组的值
console.log(value);
}
对象:
for...in是不能单独来遍历一个对象的,会报错。
如果对象是一个类数组对象,那用array.from方法转成一个数组就可以用for...of来遍历了。
或者结合Object.keys()方法来使用
for(let key of Object.keys(obj)){
// for...of遍历输出的也是键名
console.log(key,obj[obj]);
}
数组:
forEach()方法遍历数组是没有返回值
值得注意的是数组中有几项,那么传递进去的匿名回调函数拍启就需要执行几次;
arr.forEach((item,index,arr)=>{
console.log(item,index,arr)
)
// 其中item是数组中的当前项,index是数组中的当前下标,arr是原始数组
对象:
原则上forEach是用来遍历数组的,不能遍历对象,但是可以用Object.getOnwPropertyNames()方法来使得对象能被forEach遍历出来。
Object.getOnwPropertyNames()返回一个数组,成员毕贺冲是参数对象自身全部属性的属性名,不管该属性是否能被遍历。
Object.getOnwPropertyNames(obj).forEach((item,index,arr)=>{
console.log(item,index,obj[item])
})
J. js中arr.shift()
你这里的斗晌可见代码根本未对arr进行谨销陆操作,怎么会改变祥顷????
vararr=["1"]
console.info(arr);//['1']
console.info(arr.length);//1
arr.shift();
console.info(arr);//[]
console.info(arr.length);//0