Arrayオブジェクト配列オブジェクト
- 配列オブジェクト一覧
- 2つの配列を結合〔concat()〕
- 配列の要素を結合〔join()〕
- 配列の長さを取得〔length〕
- 配列の末尾の要素を削除〔pop()〕
- 配列の末尾に要素を追加〔push()〕
- 配列を逆順にソート〔reverse()〕
- 配列の先頭の要素を削除〔shift()〕
- 配列の要素を取出す〔slice()〕
- 配列をソート〔sort()〕
- 配列の要素を置換〔splice()〕
- 配列の先頭に要素を追加〔unshift()〕
配列オブジェクト一覧
unknown
2つの配列を結合
concat()
unknown
concat()メソッドは、配列オブジェクトに、引数で指定した配列を結合し、1つの配列にして返します。 配列を複数指定する場合は、カンマ区切りで指定します。
<script type="text/javascript">
/* 2つの配列を結合 */
var ary1=new Array("apple", "banana", "grape");
var ary2=new Array("orange","melon");
document.write(ary1.concat(ary2)); /* 実行結果:apple,banana,grape,orange,melon */
</script>
配列の要素を結合
join()
unknown
join()メソッドは、配列の要素を区切り文字で結合した文字列を返します。 オプションの第1引数区切り文字を省略した場合は、デフォルトのカンマが使用されます。
<script type="text/javascript">
/* 配列の要素を結合 */
var fruit=new Array("apple", "banana", "grape");
/* 区切り文字 "-" を指定 */
document.write(fruit.join("-")+"<br \/>"); /* 実行結果:apple-banana-grape */
/* 区切り文字を省略した場合 */
document.write(fruit.join()+"<br \/>"); /* 実行結果:apple,banana,grape */
</script>
配列の長さを取得
length
unknown
lengthプロパティは、配列の要素数を返します。
連想配列ではlengthプロパティが使えません。
連想配列の要素数を取得するには、以下の例のように連想配列を展開してカウントします。
<script type='text/javascript'>
/* 通常の配列の場合 */
var fruit=new Array("apple","banana","grape");
document.write(fruit.length); /* 実行結果:3 */
/* 連想配列の場合 */
var drink={"b":"beer", "c":"coffee", "t":"tea" }
var len=0;
for(key in drink){
len++;
}
document.write(len); /* 実行結果:3 */
</script>
配列の末尾の要素を削除
pop()
unknown
pop()メソッドは、配列の末尾の要素を削除し、削除した要素を返します。 削除後、配列の要素数は1つ減ります。
<script type="text/javascript">
/* 配列の先頭の要素 'apple'を取出す */
var fruit=new Array('apple', 'banana', 'grape');
document.write("取出前:"+fruit+"<br \/>");
x=fruit.pop();
document.write("取出後:"+fruit+"<br \/>");
document.write("取出された値:"+x+"<br \/>");
/*
取出前:apple,banana,grape
取出後:apple,banana
取出された値:grape
*/
</script>
配列の末尾に要素を追加
push()
unknown
push()メソッドは、配列の末尾に要素を追加し、追加後の配列の要素数を返します。 追加後、配列の要素数は追加要素数分増えます。 追加要素を複数指定する場合は、カンマ区切りで指定します。
<script type="text/javascript">
/* 配列の末尾に要素 'hoge' を追加 */
var fruit=new Array('apple', 'banana', 'grape');
document.write("追加前:"+fruit+"<br \/>");
len=fruit.push('hoge');
document.write("追加後:"+fruit+"<br \/>");
document.write("返される値(要素数):"+len+"<br \/>");
/*
追加前:apple,banana,grape
追加後:apple,banana,grape,hoge
返される値(要素数):4
*/
/* 複数の要素を追加する場合 */
var fruit=new Array('apple', 'banana', 'grape');
document.write("追加前:"+fruit+"<br \/>");
len=fruit.push('hoge1','hoge2');
document.write("追加後:"+fruit+"<br \/>");
document.write("返される値(要素数):"+len+"<br \/>");
/*
追加前:apple,banana,grape
追加後:apple,banana,grape,hoge1,hoge2
返される値(要素数):5
*/
</script>
配列を逆順にソート
reverse()
unknown
reverse()メソッドは、配列の要素を逆順に並び替えます。
<script type="text/javascript">
var fruit=new Array("apple", "grape", "banana");
document.write(fruit.reverse()+"<br \/>"); /* 実行結果:banana,grape,apple */
var numbers=new Array(100,0,1,2,3);
document.write(numbers.reverse()+"<br \/>"); /* 実行結果:3,2,1,0,100 */
</script>
配列の先頭の要素を削除
shift()
unknown
shift()メソッドは、配列の先頭の要素を削除し、削除した値を返します。 削除後、配列の要素数は1つ減ります。
<script type="text/javascript">
/* 配列の先頭の要素 'apple'を取出す */
var fruit=new Array('apple', 'banana', 'grape');
document.write("取出前:"+fruit+"<br \/>");
x=fruit.shift();
document.write("取出後:"+fruit+"<br \/>");
document.write("取出された値:"+x+"<br \/>");
/*
取出前:apple,banana,grape
取出後:banana,grape
取出された値:apple
*/
</script>
配列の要素を取出す
slice()
unknown
slice()メソッドは、取出開始位置から取出終了位置の1つ前までの要素を返します。 取り出しても、元の配列の要素が削除されることはありません。 オプションの第2引数取出終了位置を省略した場合は、取出開始位置から配列の最後の要素まで返されます。
<script type="text/javascript">
var fruit=new Array('apple', 'banana', 'grape', 'melon', 'orange');
/* 配列の最初の要素を取出す */
document.write(fruit.slice(0,1)+"<br \/>"); /* 実行結果:apple */
/* 配列の最後の要素を取出す */
var len=fruit.length - 1;
document.write(fruit.slice(len)+"<br \/>"); /* 実行結果:orange */
/* 取出終了位置を省略した場合は、取出開始位置~最後の要素まで取出される */
document.write(fruit.slice(2)+"<br \/>"); /* 実行結果:grape,melon,orange */
/* 2番目~3番目の要素を取出す */
document.write(fruit.slice(1,3)+"<br \/>"); /* 実行結果:banana,grape */
</script>
配列をソート
sort()
unknown
sort()メソッドは、配列の要素を昇順に並べ替えます。
オプションの第1引数ソート方法にはユーザー定義の比較関数を指定します。 数値配列の場合、ソート方法を省略すると数値順に並び替えられません。 正しく昇順または降順に数値をソートするには、このソート方法を指定する必要があります。
<script type="text/javascript">
/* 要素が文字列の場合 */
var fruit=new Array("apple", "banana", "grape");
document.write(fruit.sort()+"<br \/>"); /* 実行結果:apple,banana,grape */
/* 要素が数値の場合 */
var numbers=new Array(100,0,1,2,3);
document.write(numbers.sort()+"<br \/>"); /* 実行結果:0,1,100,2,3 */
/*
上の様な結果になるため、数値順にソートするには
ソート方法(ユーザ定義の比較関数)を指定する
*/
/* 昇順ソート */
function asc(x,y){ return x-y; }
document.write(numbers.sort(asc)+"<br \/>"); /* 実行結果:0,1,2,3,100 */
/* 降順ソート */
function desc(x,y){ return y-x; }
document.write(numbers.sort(desc)+"<br \/>"); /* 実行結果:100,3,2,1,0 */
</script>
配列の要素を置換
splice()
unknown
splice()メソッドは、置換開始位置から置換終了位置までの配列の要素を置換文字列に置換して返します。 第3引数置換文字列を複数指定する場合は、カンマ区切りで指定します。 置換する要素数と指定した置換文字列が等しくない場合、配列の要素数が増減します。
配列の最初の要素は0です。最初の要素を置換する場合はsplice(0,1,'置換文字列')となります。
<script type="text/javascript">
var fruit=new Array('apple', 'banana', 'grape');
document.write("置換前:"+fruit+"<br \/>");
/* 配列の最後の要素を'orange'に置換 */
fruit.splice(2,3,'orange');
document.write("置換後:"+fruit+"<br \/>");
/*
置換前:apple,banana,grape
置換後:apple,banana,orange
*/
/* ★置換文字列を複数指定 */
var fruit=new Array('apple', 'banana', 'grape');
document.write("置換前:"+fruit+"<br \/>");
/* 配列の最後の要素を'melon','orange'に置換 */
fruit.splice(2,3,'melon','orange');
document.write("置換後:"+fruit+"<br \/>");
/*
置換前:apple,banana,grape
置換後:apple,banana,melon,orange
*/
</script>
配列の先頭に要素を追加
unshift()
unknown
unshift()メソッドは、配列の先頭に要素を追加し、追加後の配列の要素数を返します。 追加後、配列の要素は1つずつ後ろにずれ、要素数は追加要素数分増えます。 追加要素を複数指定する場合は、カンマ区切りで指定します。
<script type="text/javascript">
/* 配列の先頭に要素 'hoge' を追加 */
var fruit=new Array('apple', 'banana', 'grape');
document.write("追加前:"+fruit+"<br \/>");
len=fruit.unshift('hoge');
document.write("追加後:"+fruit+"<br \/>");
document.write("返される値(要素数):"+len+"<br \/>");
/*
追加前:apple,banana,grape
追加後:hoge,apple,banana,grape
返される値(要素数):4
*/
/* 複数の要素を追加する場合 */
var fruit=new Array('apple', 'banana', 'grape');
document.write("追加前:"+fruit+"<br \/>");
len=fruit.unshift('hoge1','hoge2');
document.write("追加後:"+fruit+"<br \/>");
document.write("返される値(要素数):"+len+"<br \/>");
/*
追加前:apple,banana,grape
追加後:hoge1,hoge2,apple,banana,grape
返される値(要素数):5
*/
</script>