JSアレイで一般的に使用されるAPI(フロントエンドインタビューの質問)

静的メソッド:

Array.of(…args): 使用指定的数组项创建一个新数组
Array.from(arg): 通过给定的类数组 或 可迭代对象 创建一个新的数组。
const arr = Array.of(5);//值为5,length为1
const arr1 = new Array(10);//length为10的空数组
console.log(arr);
console.log(arr1);

その他のAPIは、特定の機能に分かれています。

1つ、追加

1. push()メソッドは、配列の最後に1つ以上の要素を追加し、配列の新しい長さを返します。

2. unshift()メソッドは、配列の先頭に1つ以上の要素を追加し、新しい配列の長さを返します。

2.削除

1. pop()メソッドは、配列から最後の要素を削除し、その要素の値を返します。このメソッドは、配列の長さを変更します。

2. shift()メソッドは、配列から最初の要素を削除し、その要素の値を返します。このメソッドは、配列の長さを変更します。
三、操作

1. concat()メソッドは、2つ以上の配列をマージするために使用されます。このメソッドは既存の配列を変更しませんが、新しい配列を返します。

var color = ['red'、 'green'、 'blue'];
var color2 = color.concat( 'yellow'、['black'、 'white']);
console.log(color2)//赤、緑、青、黄、黒、白

2.lice()メソッドは選択された配列の一部の浅いコピーを最初から最後まで(終わりを含まない)新しい配列オブジェクトに返します。元の配列は変更されません。

var colors = ['red'、 'green'、 'blue'、 'black'、 'white'];
var colors2 = colors.slice(1)//緑、青、黒、白
varcolors3 = colors.slice(1,4)//緑、青、黒

3. splice()メソッドは常に元の配列から削除されたアイテムを含む配列を返します(アイテムが削除されていない場合は空の配列が返されます)。最も用途が広く、次の3つのタイプがあります。

删除:需指定2个参数,要删除的第一项位置和要删除的项数
插入:需提供3个参数,起始位置、0(要删除的项数)和要插入的项,如要插入多个项 ,再传入第四,五...
替换:需指定3个参数,起始位置、要删除的项数和要插入的任意数量的项

var colors = ['red'、 'green'、 'blue'];
削除された変数= colors.splice(0,1);
console.log(colors); //緑、青
console.log(削除済み); //赤

var remove = colors.splice(1,0、 'black');
console.log(colors); // green、black、blue
console.log(removed); //空の配列を返す

削除された変数= colors.splice(0,2、 'yellow'、 'white');
console.log(colors); //黄色、白、青
console.log(削除済み); //赤、緑

4、位置特定方法

indexOf()メソッドは、配列の先頭(位置0)から逆方向に検索します。

lastIndexOf()メソッドは、配列の末尾から前方に検索します。

どちらのメソッドも、検索するアイテムと(オプション)検索の開始位置を示すインデックスの2つのパラメータを受け取ります。見つからない場合は-1を返します
。5。メソッドの並べ替え

sort()メソッドは、配列項目を昇順で並べ替えます。つまり、最小値が上に、最大値が後ろになります。

reverse()は降順でソートします。

注:このメソッドを呼び出すときにパラメーターが使用されていない場合、配列内の要素はアルファベット順に並べ替えられます。より正確には、文字エンコードの順序で並べ替えられます。これを実現するには、最初に配列のすべての要素を(必要に応じて)文字列に変換して比較し、次に比較関数をパラメーターとして受け取ります。これにより、どの値がどの値の前にあるかを指定できます。

関数compare(val1、val2){

if(val1 < val2){
    return -1;
}else if(val1 > val2){
    return 1;
}else {
    return 0
}

}
var val = [0,1,35,2,18];
console.log(val.sort(compare)); // 0,1,2,18,35
console.log(val.reverse(compare)); // 35,18,2,1,0

console.log(val.sort()); // 0,1,18,2,35
console.log(val.reverse()); // 35,2,18,1,0

6、反復法

1. forEach()、配列の各項目で特定の関数を実行します。このメソッドには戻り値がありません。基本的には、forループを使用して配列を反復処理するのと同じです。

2. map()は新しい配列を作成し、その結果は、配列内の各要素が指定された関数を呼び出した後に返される結果です。
セブン、変換方法

1. toString()メソッドは、配列内の各値の文字列形式を連結して形成されたコンマ区切りの文字列を返します

2. ValueOf()は配列を返します

3. toLocaleString()メソッドは、配列内の各値の文字列形式を連結して形成されたコンマ区切りの文字列も返します。

違い:

var date = new Date();
console.log(date.valueOf()); // 1524815456865
console.log(date.toString()); // 2018年4月27日金曜日15:50:56GMT + 0800(CST)
console.log(date.toLocaleString()); // 2018/4/27下午3:50:56

var num = new Number(1337);
console.log(num.valueOf()); // 1337、Numberオブジェクトの基本的な数値を返します
console.log(num.toString()); // 1337、文字列
コンソール.log(num.toLocaleString()); // 1,337、ローカルの数値形式シーケンスを使用して、数値を文字列に変換します

注意:

toLocalString()是调用每个数组元素的 toLocaleString() 方法,然后使用地区特定的分隔符把生成的字符串连接起来,形成一个字符串。

toString()方法获取的是String(传统字符串),而toLocaleString()方法获取的是LocaleString(本地环境字符串)。

如果你开发的脚本在世界范围都有人使用,那么将对象转换成字符串时请使用toString()方法来完成。

LocaleString()会根据你机器的本地环境来返回字符串,它和toString()返回的值在不同的本地环境下使用的符号会有微妙的变化。

所以使用toString()是保险的,返回唯一值的方法,它不会因为本地环境的改变而发生变化。如果是为了返回时间类型的数据,推荐使用LocaleString()。若是在后台处理字符串,请务必使用toString()。

おすすめ

転載: blog.csdn.net/weixin_49549509/article/details/109207127