一个JavaScript面试题,求大佬解答。
本人很菜,感觉大佬们的解答。
回答
笨比方法
var arr = [ {product:'pd1',price: 100,profit:50,quantity: 10},
{product:'pd2',price: 110,profit:10,quantity: 1000},
{product:'pd3',price: 120,profit:30,quantity: 10},
{product:'pd4',price: 110,profit:20,quantity: 10},
{product:'pd5',price: 120,profit:70,quantity: 10},
{product:'pd6',price: 130,profit:90,quantity: 10},
]
var foo = (arr) => {
var sortArr = arr.sort((a,b)=>b.profit*b.quantity - a.profit*a.quantity)
var result = {
product: [],
price: [],
profit: [],
quantity: [],
}
sortArr.forEach(item=>{
result.product.push(item.product)
result.price.push(item.price)
result.profit.push(item.profit)
result.quantity.push(item.quantity)
})
return result
}
var result = foo(arr)
console.log(result)
const skus = ['profit', 'product', 'price', 'quantity'];const convert = arr => arr.sort(a.profit*a.quantity - b.profit*b.quantity).
reduce((pre, cur) => (skus.forEach(sku => pre[sku].push(cur[sku])), pre),
skus.reduce((pre, cur) => ((pre[cur] = []), pre), {}));
应该能秀死面试官。
哈哈哈 在线等的那种么 ≡ω≡
以上是 一个JavaScript面试题,求大佬解答。 的全部内容, 来源链接: utcz.com/a/49563.html