これは何?
個人的なメモです。
書き換え?
boolean
!0 === true // true
!1 === false // true
if
let a = 100
let b = false
if( b === false ) {
a += 100
}
console.log(a) // a = 200
↑↑↑同義↓↓↓
let a = 100
let b = false
b === false && ( a += 100 )
console.log(a) // a = 200
置換
repelace (非破壊)
let some_word = '123456789'
some_word.replace(/4567/, '')
> "12389"
console.log('some_word=[%s]', some_word)
> some_word=[123456789]
Array
破壊を非破壊処理にする
let some_array = [1, 2, 3, 4, 5, 6, 7, 8]
some_array.pop() // 破壊
some_array.slice().pop() // 非破壊
サイズ指定&同じ数値で初期化
let N = 10
let init_num = 0
let some_array = new Array(N).fill(0)
Math.sum()
let some_array = [1, 2, 3, 4, 5, 6, 7, 8]
some_array.reduce((a, b) => a + b, 0)
Math.max()
let some_array = [1, 2, 3, 4, 5, 6, 7, 8]
let max_num = Math.max(...some_array)
数値としてsort() [破壊]
let some_array = [9, 1, 12, 13, 4, 15, 6, 7, 8]
// 破壊
some_array.sort( (a, b) => { return a - b }) // 昇順
some_array.sort( (a, b) => { return b - a }) // 降順
forEachでkey,value
let some_array = [9, 1, 12, 13, 4, 15, 6, 7, 8]
some_array.forEach( (val, key) => {
console.log('key=[%s] val=[%i]', key, val)
})
要素分割
let some_array = [9, 1, 12, 13, 4, 15, 6, 7, 8]
some_array.slice().splice(3, 5) // index=3 から 5 要素
> (3) [13, 7, 8]
some_array.slice().slice(5) // index=6 から最後までの要素
> (4) [15, 6, 7, 8]
重複要素の削除(distinct)
const unique = (value, index, self) => {
return self.indexOf(value) === index
}
const ages = [26, 27, 26, 26, 28, 28, 29, 29, 30]
const uniqueAges = ages.filter(unique)
console.log(uniqueAges)
> (5) [26, 27, 28, 29, 30]
Object
ObjectのキーをArrayで取得
let some_obj = {
a: 0,
b: 1,
c: 2
}
let keys = Object.keys(some_obj)
ObectをforEach
let some_obj = {
a: 0,
b: 1,
c: 2
}
Object.keys(some_obj).forEach( key => {
let val = some_obj[key]
console.log('key=[%s] val=[%i]', key, val)
})
ObjectのValue最大
arr_idx
は arr
のindex。
arr_idx = []
let arr = Object.keys( obj ).map( ( key ) => {
arr_idx.push(key)
return obj[key]
})
let min = Math.min.apply( null, arr );
let max = Math.max.apply( null, arr );
console
%s : String
%d or %i : Number
%f : Floating points
%o : an Object
%j : JSON