PTT
Submit
Submit
选择语言
正體中文
简体中文
PTT
Ajax
[问题] 请教几个 JavaScript 的问题
楼主:
lingsyou
2021-09-28 07:29:45
身边没有人写 JavaScript,好不容易找到这里,希望大家可以帮帮忙 QQ ,实在是
找不到人问了
1. arr = [{name:'sam', age:16}, {name:'may', age:20}]
使输出为 {sam: 16, may: 20}
2. 找出最靠近 50 的数字并输出
const arr = {40, 32, 55, 16, 25, 74, 22, 13, 27, 41}
输出为 {55, 41, 40}
先谢谢大家了!
作者:
icydream
(巧虎)
2021-09-28 08:25:00
第1题可用reduce第2题是[],不是大括号(题目打错了)最靠近50是要靠多近呢?
作者:
laechan
(挥泪斩马云)
2021-09-28 10:17:00
第一题,先土法炼钢,再看能否写进内函数?第一题先宣告一个比方 copy={};arr.forEach(function(a){copy[a["name"]]=a["age"];});这样 copy 的输出结果: copy={"sam":16,"may":20}第二题,可以让每个元素与50相减后的值当key值,arr内的元素当对映值,比方 {"10":40, "18":32, "-5":55, ... }然后对这东西的Object.keys值做sort,用Math.abs比大小return c1 > c2 ? 1 : c1 < c2 ? -1 : 0;这样比完后 "-5" 就会在最前面, 再来是 "10", 再来 "11"则叫出 "-5" 对映的值 55 就行了
https://i.imgur.com/ZMhDw4O.jpg
若要更简短就是arr.forEach(function(a){直接在里面做比大小(abs)及排序,这样应该更快,我改一下
https://i.imgur.com/3E138hy.jpg
要得出前 3 个的3这个数字,或可用arr.length的开根号整数
楼主:
lingsyou
2021-09-29 00:33:00
真的非常谢谢大家!!第一题 我试了 reduce 看来是可以的!
https://i.imgur.c
om/BadTE34.jpg
https://i.imgur.com/R1bvA7P.jpg
第二题谢谢 laechan 大大的方法!
作者:
GlobeTrekker
2021-09-29 03:19:00
第一题用map更适合其问题的本质
作者:
BugofBook
(数学书虫)
2021-09-29 15:43:00
输入是array输出是object,不能用map只能用reduce
作者:
GlobeTrekker
2021-09-29 18:59:00
喔喔喔喔喔,对吼,谢谢!
作者:
icydream
(巧虎)
2021-10-01 12:29:00
" target="_blank" rel="noreferrer noopener nofollow">
reduce这样使用比较好一些
作者:
GlobeTrekker
2021-10-01 15:34:00
推楼上
作者:
eight0
(欸XD)
2021-10-01 20:45:00
用 Object.entries
https://is.gd/WcG1rX
继续阅读
[问题] 请问这段 JS 语法是怎么做到的
capacitor
[js]youtube网页的ajax累死人,但我还是破解了!
southknight
[ js ] 请问这段程式语法代表的意思
hth9494
Re: [问题] 关于填入字段会消失的状况?
microloft
[问题] 关于填入字段会消失的状况?
secretfly
[教学] JavaScript 脸部辨识、即时视讯影像处理
pply
[情报] 软件工程师交流群组、社群
miinux
[问题] Atom 执行错误出现乱码
neil0123
[问题] 该如何按下不是btn的原件?
neiltsang
[情报] JavaScript 2020大调查
pionlang5566
Links
booklink
Contact Us: admin [ a t ] ucptt.com