面接試験問題を通して先端を勉強します.
2865 ワード
前言
最近何気なく前の問題を見つけました.
これはどういうことですか?
mapは、1つのコールバック関数 を返します.によって返された配列の要素の値は、 . currentValue:現在処理されている配列要素の値 index:現在処理中の配列要素のインデックス arr: string:解析された文字列(前後のスペースは無視され、文字列でないと文字列に変換される) radix:
また
ParseIntコールバック関数は3回呼び出されます. が第1回起動した場合、 に戻る.の第二の呼び出しは、 に直接戻ります.の第3回の呼び出しは、 に戻る.
もっと多い:パーrseFloat
map()ドキュメントのパーrseInt()ドキュメントのパーパーパーミッションFloat()ドキュメント
締め括りをつける
これは前の問題の中の一つです.これからはもっと多くの先端の面接問題に関する知識をまとめて、先端の知識を勉強します.
最近何気なく前の問題を見つけました.
[1, 2, 3].map(parseInt)
考えてみると、答えは[1, 2, 3]
じゃないですか?しかし、chromeコンソールの下で運転して、戻ってきたのは[1, NaN, NaN]
です.これはどういうことですか?
map()
とparseInt()
の方法の詳細な使い方を見てみましょう.map
map(callback, [thisArg])
方法:callback
を受け取り、
callback
関数を呼び出して返された値である(元の配列にはいくつかの要素があり、数回callback
を呼び出す)callback
は、3つのパラメータを受け入れる.map
方法を呼び出す配列map
方法は、一般的に、既存の配列の各要素に対して同じ論理の演算処理を行うシーンに用いられる.例えば、普段私が仕事をしている時、この方法が一番多く使われているシーンは react this.state html jsx
です.class example extends React.component {
state = {
personList: [
{
name: ' ',
age: 18
},
{
name: ' ',
age: 19
},
{
name: ' ',
age: 20
}
]
}
render() {
return (
{this.state.personList.map(person => {
return
:{person.name}
:{person.age}
})}
)
}
}
parseIntparseInt(string, [radix])
: ( )
を解析して、10
進数の整数を返します.string( )
の基数(2~36、つまり2
~36
)を指定し、0
を伝えないとstring( )
を10
で解析する.また
[1, 2, 3].map(parseInt)
を見にきます.ParseIntコールバック関数は3回呼び出されます.
// arr [1, 2, 3]
//
parseInt(1, 0, arr) // 1
//
parseInt(2, 1, arr) // NaN
//
parseInt(3, 2, arr) // NaN
まず、parseInt
のコールバック関数は、
を
に変換する.1 -> '1',2 -> '2',3 -> '3'
ですradix
は0であるため、string
は10
に従って処理し、10 1
radix
が1であるため、2~36
の範囲ではなく、NaN
radix
が2(バイナリ)であるため、string
は'3'
であり、
ではないので、NaN
[1, 2, 3].map(parseInt)
は[1, NaN, NaN]
に戻ります.もっと多い:パーrseFloat
[1, 2, 3].map(parseFloat)
は、1つのパラメータ[1, 2, 3]
だけを受け取るので、parseFloat(string)
を返します.map()ドキュメントのパーrseInt()ドキュメントのパーパーパーミッションFloat()ドキュメント
締め括りをつける
string
の方法に慣れていない上に、この面接問題をよく分析していないので、自分でこの問題を解いてしまいました.これは前の問題の中の一つです.これからはもっと多くの先端の面接問題に関する知識をまとめて、先端の知識を勉強します.