Comments (13)
function foo(o, arr) {
return arr.reduce((acc, v) => {
acc[v] = o[v];
return acc;
}, {});
}
from frontend-interview.
function foo (o, arr) {
const result = {}
Object.keys(o).filter(k => arr.includes(k)).map(s => { result[s] = o[s] })
return result
}
from frontend-interview.
const foo = (obj, arr) => arr.reduce((ret, key) => Object.assign(ret, { [key]: obj[key] }), {})
不需要 return 的写法
from frontend-interview.
这种情况下用 forEach
更好吧
function foo(o, arr) {
var obj = {};
arr.forEach((i) => obj[i] = o[i]);
return obj;
}
from frontend-interview.
大家都想得挺远...
const foo = (o, arr) => arr.reduce((ret, key) => {
ret[key] = o[key]
return ret
}, {})
from frontend-interview.
let foo = (obj, arr) => JSON.parse(JSON.stringify(obj, arr))
from frontend-interview.
坦白讲,这道题目是在一套笔试题中的最后一道,整套题目给了我一个小时完成,后来剩最后十分钟,还剩这一道题,当时也就多少有点慌了,还有就是,纯手写的话,有些思路打不开,也被他题目里特地强调的使用ES6吓到了。
const obj={a:1,b:2,c:3};
function foo(o,arr){
var obj={};
arr.map((i)=>obj[i]=o[i]);
return obj;
}
foo(obj,["a","c"]);
刚刚简单实现了一下,要说有用ES6的就是箭头函数了。不知道还有哪些更好的方法。
from frontend-interview.
我支持@zhangolve的版本
from frontend-interview.
- let foo=(o,arr)=>{
- let obj={};
- arr.forEach((i)=>obj[i]=o[i]);
- return obj;
- }
- foo(obj,["a","c"]);
from frontend-interview.
reduce 方法用的还是少啊~~~,平时真的很少用
from frontend-interview.
const foo=(obj,arr)=>{
var res=arr.reduce((res,cur)=>{
res[cur]=obj[cur]
return res
},{})
console.log(res)
return res
}
const obj={a:1,b:2,c:3};
foo(obj,["a","c"]);
from frontend-interview.
@Wang-NQXB 你这方法会漏情况
const obj={a:1,b:2,c:function(){console.log(123)}};
这种情况你就会把c
丢掉
from frontend-interview.
纯粹卖弄语法,娱乐一下:
function foo(...args) {
const [o, arr] = args;
return arr.reduce((acc, curr) => ({
...acc,
[curr]: o[curr],
}), {});
}
// test
foo({a:1,b:2,c:3}, ['a', 'c']);
from frontend-interview.
Related Issues (20)
- JS 作用域链相关问题 HOT 5
- JS 作用域、原型链 HOT 3
- 重复声明两个函数会怎样? HOT 4
- ES5中“严格模式”与“非严格模式”的区别? HOT 3
- ajax请求序列化问题 HOT 5
- 循环/闭包/setTimeout/Promise 综合 HOT 1
- 服务端如何区分不同的用户 HOT 4
- dom操作相关 HOT 7
- 什么是FP?与OOP的关系?
- 为何会出现浏览器兼容性问题?如何解决? HOT 2
- 前端性能优化 HOT 2
- JavaScript 分组 HOT 13
- 自适应和响应式有什么区别和联系
- 如何实现深拷贝? HOT 1
- 两个js数组相关题目 HOT 7
- 面试题汇总
- jrg interview questions HOT 7
- 实现一个深拷贝 HOT 8
- 宏任务微任务题 HOT 6
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from frontend-interview.