JavaScript配列方法及びjson
31280 ワード
一、jsonデータフォーマットとjson文法
簡単なJson
配列はJsonを含むことができます
var arr=「{name}TM、{age}23」、{name}leo、{age}32};alert(arr[0].name+今年あります.
二、for-innはjsonを遍歴しています.
配列の定義
var arr=[1,2,3];var arr=new Aray(1,2,3)
クリア配列
arrの長さを0とすると空をクリアします.
arr=[]
配列長
push:配列の後ろに追加され、その戻り値は配列の長さです.
unshift:行列の前に追加され、その戻り値は配列の長さです.
pop:配列の最後の一つを削除します.その戻り値は削除されたものです.
shift:配列の前の一つを削除し、その戻り値は削除されたものです.
1.pushの使い方:
ソロ:削除、置換、追加の3つの方法があります.
削除:
arr.splice(0,1)//0番目を削除し、1つを削除します.その戻り値は削除されたものです.
置換:
arr.splice(0,1,‘abc’)//0位を1つに置き換え、abcに置換します.
追加:
arr.splice(1,0、‘abc’);/1位にabcを追加
注意:spliceは配列長を変更します.
spliceを利用して配列して重さを取ります.
sort():デフォルトでは文字列の並べ替えです.
Math.random():0~1の乱数です.
Math.round:四捨五入関数
0~1間の乱数:
Math.round(Math.random();
0~10間の乱数:
alert(Math.round(Math.random()*10));
5~10間の乱数:
alert(Math.round(Math.randowm()*5+5)));
10~20間の乱数:
alert(Math.round(Math.random()*10+10));
20~100間の乱数:
alert(Math.round(Math.randowm()*80+20));
x~y間の乱数:
alert(Math.round(Math.random()*(y-x)+x)));
0~x間の乱数:
alert(Math.round(Math.random()**x));
1~x間の乱数:
alert(Math.ceirl(Math.random()**x);
エクセルi:上にそろえます
八、contact、reverse
接続配列
逆転配列要素の位置
まず文字列を行列に変換し、逆さまにして文字列に変換します.
簡単なJson
var json = { name : 'leo', age : 32 };
alert( json.name );//leo
配列をJsonに変更します//
var arrUrl = [ 'img/1.png', 'img/2.png', 'img/3.png', 'img/4.png' ];
var arrText = [ ' ', ' ', ' ', ' ' ];
//json
var imgData = {
url : [ 'img/1.png', 'img/2.png', 'img/3.png', 'img/4.png' ],
text : [ ' ', ' ', ' ', ' ' ]
};
Jsonのアクセス/読み込みフォーマットvar json2 = { 'name' : 'miaov' };
alert( json2.name );
alert( json2['name'] );
変更すると直接値を付けられます.配列はJsonを含むことができます
var arr=「{name}TM、{age}23」、{name}leo、{age}32};alert(arr[0].name+今年あります.
二、for-innはjsonを遍歴しています.
var json4 = { 'name' : 'miaov', 'age' : 3, 'fun' : ' ' };
for ( var attr in json4 ) {
alert( attr ); //
alert( json4[attr] ); //
}
var json5 = {
'url' : [ 'img/1.png', 'img/2.png', 'img/3.png', 'img/4.png' ],
'text' : [ ' ', ' ', ' ', ' ' ]
};
for ( var attr in json5 ) {
for ( var i=0; i < json5[attr].length; i++ ) {
alert( json5[attr][i] ); //
}
}
for-i nは配列を巡回できます.var arr = [ 'a', 'b', 'c' ];
for ( var i in arr ) {
alert( arr[i] ); //a,b,c
}
三、配列の定義すなわちクリア配列の効率問題配列の定義
var arr=[1,2,3];var arr=new Aray(1,2,3)
クリア配列
arrの長さを0とすると空をクリアします.
var arr = [ 'aaa',2,3 ];
alert( arr.length ); // 3
arr.length = 0;
alert( arr );
配列の長さを空にしてもクリアされます.arr=[]
配列長
var arr = new Array(3);
alert( arr.length );//3
var arr = new Array('3');
alert( arr.length );//1
文字列については、文字列の長さを0に設定します.クリアできません.var str = 'aaaaa';
str.length = 0;
alert(str); //aaaaa
四、配列の四つの方法とテクニックpush:配列の後ろに追加され、その戻り値は配列の長さです.
unshift:行列の前に追加され、その戻り値は配列の長さです.
pop:配列の最後の一つを削除します.その戻り値は削除されたものです.
shift:配列の前の一つを削除し、その戻り値は削除されたものです.
1.pushの使い方:
var arr = [ 1,2,3 ];
alert( arr.push( 'abc' ) );//1,2,3,abc
unshiftの使い方:var arr = [ 1,2,3 ];
alert( arr.unshift( 0 ) ); // IE 6 7 unshift
alert( arr );//0,1,2,3
2.pop使い方:var arr = [ 'TM', ' ', ' ', ' ', 'Leo' ];
alert( arr.pop() ); //'TM', ' ', ' ', ' '
3.shiftの使い方:var arr = [ 'TM', ' ', ' ', ' ', 'Leo' ];
alert( arr.shift() ); //' ', ' ', ' ', 'Leo'
4.配列要素を右に移動var arr = [ 'TM', ' ', ' ', ' ', 'Leo' ];
arr.unshift(arr.pop());
alert( arr ); //Leo,TM, , ,
5.配列要素を左に移動var arr = [ 'TM', ' ', ' ', ' ', 'Leo' ];
arr.push(arr.shift())
alert( arr ); // , , ,Leo,TM
五、spliceの方法、配列は重さに行きます.ソロ:削除、置換、追加の3つの方法があります.
削除:
arr.splice(0,1)//0番目を削除し、1つを削除します.その戻り値は削除されたものです.
置換:
arr.splice(0,1,‘abc’)//0位を1つに置き換え、abcに置換します.
追加:
arr.splice(1,0、‘abc’);/1位にabcを追加
注意:spliceは配列長を変更します.
spliceを利用して配列して重さを取ります.
var arr = [ 1,2,2,4,2 ];
for ( var i=0; i<arr.length; i++ ) {
for ( var j=i+1; j<arr.length; j++ ) {
if ( arr[i] == arr[j] ) {
arr.splice( j, 1 );
j--;
}
}
}
alert( arr ); //1,2,4
六、JS基礎sortランキングsort():デフォルトでは文字列の並べ替えです.
var arr = [ 'c', 'd', 'a', 'e' ];
arr.sort();
alert( arr ); //a,c,d,e
sort文字列並び替えのbugvar arr2 = [ 4,3,5,5,76,2,0,8 ];
arr2.sort();
alert( arr2 );//0,2,3,4,5,5,76,8
解決策arr2.sort(function ( a, b ) {
return a - b; //0,2,3,4,5,5,8,76
});
注意:b-aは大きいから小さいまで並べ替えます.var arrWidth = [ '345px', '23px', '10px', '1000px' ];
arrWidth.sort(function ( a, b ) {
return parseInt(a) - parseInt(b);
});
alert( arrWidth ); //10px,23px,345px,1000px
ランダム並べ替えMath.random():0~1の乱数です.
var arr = [ 1,2,3,4,5,6,7,8 ];
arr.sort(function ( a, b ) {
return Math.random() - 0.5;
});
alert( arr );//
铉七、乱数及びランダム公式推理過程Math.round:四捨五入関数
0~1間の乱数:
Math.round(Math.random();
0~10間の乱数:
alert(Math.round(Math.random()*10));
5~10間の乱数:
alert(Math.round(Math.randowm()*5+5)));
10~20間の乱数:
alert(Math.round(Math.random()*10+10));
20~100間の乱数:
alert(Math.round(Math.randowm()*80+20));
x~y間の乱数:
alert(Math.round(Math.random()*(y-x)+x)));
0~x間の乱数:
alert(Math.round(Math.random()**x));
1~x間の乱数:
alert(Math.ceirl(Math.random()**x);
エクセルi:上にそろえます
八、contact、reverse
接続配列
逆転配列要素の位置
var arr1 = [ 1,2,3 ];
var arr2 = [ 4,5,6 ];
var arr3 = [ 7,8,9 ];
alert( arr1.concat( arr2, arr3 ) );//1,2,3,4,5,6,7,8,9
var arr1 = [ 1,2,3,4,5,6 ];
arr1.reverse();
alert( arr1 );//6,5,4,3,2,1
配列方法で文字列を逆さまにします.まず文字列を行列に変換し、逆さまにして文字列に変換します.
var str = 'abcdef';
alert(str.split('').reverse().join(''));//fedcba