0.0.1 • Published 5 years ago

javascript-transform v0.0.1

Weekly downloads
-
License
ISC
Repository
-
Last release
5 years ago

javascript-transform

一个javascript数据转换小工具

Description

根据当前传入的对象进行, 展开(数组), 克隆

Methods

1. flat

按照传入的层数进行展开数组

2. clone

复制数组或者对象

Example

npm install javascript-transform

flat

import transformer from "javascript-transform"

const array = [[1], 2, [[1, 22], [2], { x: 1 }, 1]]

- 默认options: depth: 1, unique: false
const _array = transformer.flat(array)
// _array -> [ 1, 2, [ 1, 22 ], [ 2 ], { x: 1 }, 1 ]

- options: depth: 1, unique: true
const _array = transformer.flat(array, {
	unique: true
})
// _array -> [ 1, 2, [ 1, 22 ], [ 2 ], { x: 1 } ]

- options: depth: Infinity
const _array = transformer.flat(array, {
	depth: Infinity
})
// _array -> [ 1, 2, 1, 22, 2, { x: 1 }, 1 ]

clone

import transformer from "javascript-transform"

// 数组
const array = [
	1,
	[2],
	1,
	[4, 5, 4]
]
- 默认options: deep: false, unique: false
const _array = transformer.clone(array)
// _array => [ 1, [ 2 ], 1, [ 4, 5, 4 ] ]

- options: deep: true
const _array = transformer.clone(array, {
	deep: true
})
// _array => [ 1, [ 2 ], 1, [ 4, 5, 4 ] ]
_array[1] !== array[1]
// => true


- options: deep: true, unique: true
const _array = transformer.clone(array, {
	deep: true
})
// _array => [ 1, [ 2 ], [ 4, 5 ] ]

// 对象
const object = {
	a: 1,
	b: { x: 2 },
	c: {
		d: [4, 4, 5]
	}
}

- 默认options: deep: false, unique: false
const _object = transformer.clone(object)
// _object => { a: 1, b: { x: 2 }, c: { d: [ 4, 4, 5 ] } }

- options: deep: true, unique: true
const _object = transformer.clone(object, {
	deep: true,
	unique: true
})
// _object => { a: 1, b: { x: 2 }, c: { d: [ 4, 5 ] } }
_object.c.d !== object.c.d
// => true