src/styleutil.js
function flattenArray(input, ans = {}) {
    if (!input || !Array.isArray(input)) return input || {}
    for (let k in input) {
        //recursive logic
        if (Array.isArray(input[k])) {
            ans = flattenArray(input[k], ans)
        } else {
            ans = Object.assign({}, ans, input[k])
        }
    }
    return ans
}
function flattenArray(input, ans = {}) {
    if (!input || !Array.isArray(input)) return input || {}
    for (let k in input) {
        //recursive logic
        if (Array.isArray(input[k])) {
            ans = flattenArray(input[k], ans)
        } else {
            ans = Object.assign({}, ans, input[k])
        }
    }
    return ans
}
function flattenArray ( input , ans = { } ) { if ( ! input || ! Array . isArray ( input ) ) return input || { } for ( let k in input ) { //recursive logic if ( Array . isArray ( input [ k ] ) ) { ans = flattenArray ( input [ k ] , ans ) } else { ans = Object . assign ( { } , ans , input [ k ] ) } } return ans }
flatten deep array to plain object
@param input may deep array,e.g. [{color:'red'},[{fontSize:11}]]
@param ans output plain object,e,g. {color:'red',fontSize:11}
@returns plain object mentioned above
flatten deep array to plain object