- 对象中的key的值是数组类型的转换成字符串,并用特殊字符隔开。
let data ={
name:'linmuhan',
age:'18',
skill:['html','css','javascript','vue','react']
}
console.log(judgeString(data),'data')
function judgeString(object) {
// 1.判断是否为对象
if (typeof object === 'object') {
for (const k in object) {
const r = Object.prototype.toString.call(object[k])
console.log(r,'rrrrrrrrr')
if (r.slice(8, r.length - 1) === 'Array') {
object[k] = object[k].join('@&*')
}
}
}
return object
}
运行效果:
[object String] rrrrrrrrr
[object String] rrrrrrrrr
[object Array] rrrrrrrrr
{
name: 'linmuhan',
age: '18',
skill: 'html@&*css@&*javascript@&*vue@&*react'
} data
- 对象里面的字符串处理转成成数组
let stringData={
name: 'linmuhan',
age: '18',
skill: 'html@&*css@&*javascript@&*vue@&*react'
}
console.log(judgeAttr(stringData),'string')
function judgeAttr(object) {
if (typeof object === 'object') {
for (const k in object) {
if (typeof object[k] === 'string' && object[k].indexOf('@&*') !== -1) {
// object[k] = object[k].split('@&*').map(elem => Number(elem))
object[k] = object[k].split('@&*')
}
}
}
return object
}
运行效果
{
name: 'linmuhan',
age: '18',
skill: [ 'html', 'css', 'javascript', 'vue', 'react' ]
} string