后台给传过来这么一个对象,默认值要取第一个,我用for循环一次取出来了,感觉特别low,
你们有没有好一点的办法啊?
for循环应该就是最优的了吧
function getObjFirst(obj){
for(let i in obj) return obj[i];
}
let aObj = {01: 111, 02: 2222};
console.log(getObjFirst(aObj))
var obj={06:"so",08:"me",09:"th",15:"ing"}
obj[Object.keys(obj).sort((a,b)=>a-b)[0]]
/* Object.keys(obj): 输出 obj 里所有 key 组成的数组;
/* .sort((a,b)=>a-b): 从小到大排序
/* [0]: 输出第一个的值。
// 以上操作找出 obj 中最小的 key 的值 (s)
/* obj[s]: 取第一个 */
一行代码,哈哈。
# 参考了 yangge26 的回答
不管是用Object.keys,还是用for(let i in obj),得到的属性的顺序都是无法保证的。
就是循环出来的第一个并不是对象的第一个属性
var an_obj = { 100: 'a', 2: 'b', 7: 'c' };
console.log(Object.keys(an_obj)); // 2, 7 100
for(var i in an_obj) {
console.log(i); // 2, 7 100
}
我试过将对象转成字符串,用JSON.stringify,但是发现顺序也还是被变了。。。
8 回答4.6k 阅读✓ 已解决
6 回答3.4k 阅读✓ 已解决
5 回答2.8k 阅读✓ 已解决
5 回答6.3k 阅读✓ 已解决
4 回答2.2k 阅读✓ 已解决
4 回答2.8k 阅读✓ 已解决
3 回答2.4k 阅读✓ 已解决