Javascript代码片段集录

image

对象遍历的几种方法

const params = { id: 1, name: 'bob', age: 13 }
Object.keys(params).forEach(key => console.log(key, params[key]))
Object.values(params).forEach(value => console.log(value))

// 可遍历不可枚举属性
const obj = Object.defineProperty({}, 'value1', {
    value: 666,
    writable: false,
    enumerable: false,
    configurable: false
})
const obj1 = Object.defineProperties({}, {
    value1: { value: 666, enumerable: false },
    value2: { value: 999, enumerable: false }
})
Object.getOwnPropertyNames(obj1).forEach(key => {
    console.log(key)
})

// 可遍历对象原型上的属性
const obj3 = Object.create({ value1: 666 })
obj3.value2 = 999

for (key in obj3) {
    console.log(key)
}

// 返回对象所有属性名的属性 包括不可枚举和Symbol属性
obj1[Symbol('foo')] = 'Symbol foo'
Reflect.ownKeys(obj1).forEach(key => {
    // console.log(key)  // Uncaught TypeError: Cannot convert a Symbol value to a string
    console.log(obj1[key])
})

使用reduce拼接URL参数

const params = { id: 1, name: 'bob', age: 13 }

// reduce((a,b)=>{},'') //第二参数可以指初始值 String|Number
const urlParams = Object.keys(params).reduce((pre, current) => {
    // return pre + current + `=` + params[current] + '&'
    return pre + `${current}=${params[current]}&`
}, '?').slice(0, -1)

console.log(urlParams) //  ?id=1&name=bob&age=13
posted @   会飞的一棵树  阅读(19)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
点击右上角即可分享
微信分享提示