首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

我需要遍历一个数组,找到18岁以下的人。我应该先把它转换成字符串(toString)吗?

不需要将数组转换为字符串来找到18岁以下的人。你可以直接遍历数组并检查每个人的年龄。以下是一个使用JavaScript的示例:

代码语言:txt
复制
// 假设你有一个包含人的信息的数组
const people = [
  { name: 'Alice', age: 20 },
  { name: 'Bob', age: 17 },
  { name: 'Charlie', age: 25 },
  // ... 其他人
];

// 使用Array.prototype.filter方法来找到年龄小于18岁的人
const under18 = people.filter(person => person.age < 18);

console.log(under18);

在这个例子中,filter 方法会遍历数组中的每个元素,并返回一个新数组,其中包含所有年龄小于18岁的人。

如果你在使用其他编程语言,也可以找到类似的数组遍历和过滤的方法。例如,在Python中,你可以使用列表推导式来实现相同的功能:

代码语言:txt
复制
# 假设你有一个包含人的信息的列表
people = [
  {'name': 'Alice', 'age': 20},
  {'name': 'Bob', 'age': 17},
  {'name': 'Charlie', 'age': 25},
  # ... 其他人
]

# 使用列表推导式来找到年龄小于18岁的人
under18 = [person for person in people if person['age'] < 18]

print(under18)

这个方法不需要将数组转换为字符串,而是直接在数据结构上操作,更加高效和直观。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

见过最好最详细的 JavaScript 关系的解释

TLDR:强迫自己使用三重等号(===) 无意在Reddit上找到了这个JavaScript meme,它是见过最好的抽象。...板块1 - 引入强制 image.png 如果你在开发者控制台上运行0 == "0",为什么返回true? 0是一个数字,然后"0"是一个字符串,它们永远不应该相同的!大多数编程语言都遵守。...x 作比较后返回 所以我们的例子0 == "0": 因为 0 是一个数字类型,"0" 是一个字符串类型,则返回 0 == ToNumber("0") 我们的字符串"0"已经被秘密转换成数字0...2.空数组变成空字符串 再次根据规范,JS首先寻找一个对象的toString方法来强制转换。 在数组的情况下,toString连接其所有元素并将它们作为字符串返回。...所以... [].toString() // "" 规范中的ToPrimitive将空数组转换成字符串。相关的参考在这里和这里,方便你查阅(或解决疑惑)。

57410
  • 精学手撕系列——数组扁平化

    第二问:还有其它的办法?...因为它们在高版本浏览器并不兼容 方法二:转换为字符串,再把字符串对象用,转换成数组 可以先把多维数组先转换为字符串,再基于,分隔符将字符串对象分割成字符串数组 toString() 扁平化数组 arr...再跟着分析思路: 如何实现呢,其实思路非常简单:在数组找到数组类型的元素,然后将他们展开,这就是flat方法的关键思路 实现思路: 循环数组里的每一个元素 判断该元素是否为数组数组的话,继续循环遍历这个元素...——数组 不是数组的话,把元素添加到新的数组中 实现流程: 创建一个数组,用来保存遍历到的非数组元素 创建一个循环遍历数组的函数,cycleArray 取得数组中的每一项,验证Array.isArray...== 0) { const val = stack.pop(); // 删除数组最后一个元素,并获取 if (Array.isArray(val)) { stack.push

    90440

    透过网红面试题,超详细解析 parseInt,学不懂找我

    我们简单温故了数组map方法, 接下来再详细的认识一下parseInt方法。 parseInt方法 不少人会觉得parseInt不就是将字符串转成一个整数, 平时经常使用。...这是MDN给的解释,其实理解起来有点困难,这里一步步的拆解一下。首先,解析一个字符串并返回指定基数的十进制整数这句话怎么理解呢? parseInt 第一个参数理解 第一个参数是字符串?...这里有一个注意点,发现有的人容易弄混: parseInt是将radix进制的字符串转为十进制的整数(很多人弄混成:转成radix进制的整数)。...parseInt('12', 2), 这个转换结果也为1, 这里又有一个需要注意,当解析到字符串'2'时,发现是非有效数字,(有的人可能会说:2怎么不是有效数字了!!)...通过上面的几个例子相信对parseInt有一定的了解,这里要补充一点关于进制转换的知识,就当复习巩固了(因为面试时,变更了一下题目的数值,发现有的人不会,或者说忘记了进制转换) 任意进制如何转十进制

    3.5K10

    用 Function.apply() 的参数数组化来提高 JavaScript程序性能

    如果要与数组的长度作比较,应该先把数组的length属性放入一个局部变量中,减少查询次数。...所以如果这样的表达式重复出现,只要可能,应该尽量少出现这样的表达式,可以利用局部变量,把放入一个临时的地方进行查询。...这一点可以和循环结合起来,因为我们常常要根据字符串数组的长度进行循环,而通常这个长度是不变的,比如每次查询a.length,就要额外进行一个操作,而预先把var len=a.length,则就少了一次查询...如果要连接多个字符串应该少使用+=,如 s+=a;s+=b;s+=c;应该写成 s+=a + b + c;而如果是收集字符串,比如多次对同一个字符串进行+=操作的话,最好使用一个缓存。怎么用呢?...浮点数转换成整型,这个更容易出错,很多人喜欢使用parseInt(),其实parseInt()是用于将字符串转换成数字,而不是浮点数和整型之间的转换,我们应该使用Math.floor()或者Math.round

    88650

    Android常用加密手段之MD5加密(字符串加密和文件加密)

    简单来说,MD5算法是固定的,比如同一个数字的加密结果是固定的,并且理论上是不可逆的。...然后通过调用.digest(byte[])得到了加密后的字节数组。 得到加密后的字节数组后,我们通常要把它们转换成16进制式的字符串。...所以加密后的字节数组中,每个byte构成一个16进制的数,而这个16进制数需要两个char来表示。高位在前,低位在后。...[byteArray.length * 2]; // 遍历字节数组,通过位运算(位运算效率高),转换成字符放到字符数组中去 int index = 0;...加密文件 之前在项目开发中为了验证文件下载的完整性,想到了用md5去校验。思路还是将文件转换成byte数组,然后再进行Md5转码。可有时候,Android应用直接就崩掉了,原因是内存溢出。

    6.6K31

    fastJson中jsonobject转换成jsonArray,jsonArray转换成jsonobject

    大家好,又见面了,是你们的朋友全栈君。 今天做接口, 有一个关于jsonobject转换成jsonArray,然后再转换成String类型的。...由于比较麻烦,特找度娘搜答案, 然后再总结一下 第一步: 先把传过来的json类型的值转换成jsonobject类型 1、 JSONObject para= JSONObject.parseObject...(this.info); 第二步:把jsonobject对象换成jsonArray数组 2、 JSONArray recordMap= JSON.parseArray(para.getString(..."recordMap").toString()); 这里提取的recordMap里面的json字符串 第三步:把json转换成jsonobject类型 3、 JSONObject jsObj=JSON.parseObject...(recordMap.get(i).toString()); 第四步: 完成jsonobject转换成String类型, 4、 String longitude = jsObj.getString(

    81610

    Java 开发中如何正确的踩坑

    一直都认为研发本身是很有创造性的,如果人不放松,或不够聪明,都很难做得好。你要找到最好的人一个好的工程师不是顶10个,是顶100个。...---- 简单聊聊常用的集合 5.foreach 遍历集合删除元素 大家应该都知道,在遍历集合时对元素进行 add/remove 操作要使用 Iterator,使用 for 循环时会报错,一定会报错?...踩坑姿势:Arrays.asList()把数组转换成集合时,不能使用其修改集合相关的方法,的 add/remove/clear 方法会抛出 UnsupportedOperationException...还需要注意一点,在你转换后,再对数组的值进行修改时,集合也会跟着变哦(注释掉的代码)。...7. toArray() 集合转换数组 当我们需要一个集合转换为数组时,往往会调用 toArray() 方法,如果你用的是无参的这个可以? ? 当然不可以啦!

    1K20

    Java开发中遇到的那些坑!

    为什么说一个好的员工能顶 100 个普通员工 我们的做法是,要用最好的人一直都认为研发本身是很有创造性的,如果人不放松,或不够聪明,都很难做得好。...你要找到最好的人一个好的工程师不是顶10个,是顶100个。所以,在核心工程师上面,大家一定要不惜血本去找,千万不要想偷懒只用培养大学生的方法去做。...大家应该都知道,在遍历集合时对元素进行 add/remove 操作要使用 Iterator,使用 for 循环时会报错,一定会报错?...踩坑姿势: Arrays.asList()把数组转换成集合时,不能使用其修改集合相关的方法,的 add/remove/clear 方法会抛出 UnsupportedOperationException...7. toArray() 集合转换数组 当我们需要一个集合转换为数组时,往往会调用 toArray() 方法,如果你用的是无参的这个可以? ? 当然不可以啦!

    1.1K10

    开发中经常遇到的JavaScript问题整理(超实用)

    属性的对象,所以我回答说这个应该是 false 吧,后来面试告诉函数是有 length 属性的,函数的 length 属性就是函数参数的个数,瞬间恍然大悟,函数的参数就是 arguments,而...,他可以书数组也可以书函数,用来指定对象序列化的时候哪些属性应该被处理,哪些应该被排除,和 toJSON 很像 当 replacer 是一个数组时,那么他必须是一个字符串数组,其中包含序列化要处理的对象的属性名称...[] 为什么是 true 上面隐式类型转换规则中提到,其他类型比较都要转换成数字做比较,这个就是对应那条规则的 首先 [].toString() 会得到一个 '' 字符串 !...,一次偶然的机会发现他们是两种不同的设计思路 虽然他们都是实现了对象的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖的对象都将得倒通知,然后自动更新。...> { func(data); data.children && treeForEach(data.children, func); }); }; 后序遍历,只需要调换一下节点遍历和子树遍历的顺序即可

    1.5K10

    JavaScript 编程精解 中文第三版 六、对象的秘密

    比如说,toString方法可以将一个对象转换成字符串表示形式。 许多对象并不直接将Object.prototype作为其原型,而会使用另一个原型对象,用于提供一系列不同的默认属性。...而直接使用数组调用Object.prototype.toString则会产生一个完全不同的字符串。...在第四章中提到for/of循环可以遍历几种数据结构。 这是多态性的另一种情况 - 这样的循环期望数据结构公开的特定接口,数组字符串是这样。 你也可以将这个接口添加到你自己的对象中!...但在我们实现之前,我们需要知道什么是符号。 符号 多个接口可能为不同的事物使用相同的属性名称。 例如,可以定义一个接口,其中toString方法应该将对象转换为一段纱线。...这个结果应该一个对象,如果有下一个值,value属性会提供;没有更多结果时,done属性应该为true,否则为false。 请注意,next,value和done属性名称是纯字符串,而不是符号。

    1.7K60

    关于数组的前端面试题,你是否都能答对?

    的觉得可以用以下方法来解决这个问题: 1.利用Array.prototype.toString()方法 var list = [1,[2,[3]],4,[5]]; console.log(list.toString...()); //1,2,3,4,5 原理:toString 方法返回一个字符串,该字符串数组中的每个元素的 toString() 返回值经调用 join() 方法连接(由逗号隔开)组成。...Array.prototype.join()方法 var list = [1,[2,[3]],4,[5]]; console.log(list.join()); //1,2,3,4,5 原理:join方法会让所有的数组元素转换成字符串...要实现这一点,首先应把数组的元素都转换成字符串(如有必要),以便进行比较。 如果想按照其他标准进行排序,就需要提供比较函数,该函数要比较两个值,然后返回一个用于说明这两个值的相对顺序的数字。...比较函数应该具有两个参数 a 和 b,其返回值如下: 若 a 小于 b,在排序后的数组中 a 应该出现在 b 之前,则返回一个小于 0 的值。 若 a 等于 b,则返回 0。

    1.3K30

    Java开发中如何正确踩坑

    为什么说一个好的员工能顶 100 个普通员工 我们的做法是,要用最好的人一直都认为研发本身是很有创造性的,如果人不放松,或不够聪明,都很难做得好。...你要找到最好的人一个好的工程师不是顶10个,是顶100个。所以,在核心工程师上面,大家一定要不惜血本去找,千万不要想偷懒只用培养大学生的方法去做。...大家应该都知道,在遍历集合时对元素进行 add/remove 操作要使用 Iterator,使用 for 循环时会报错,一定会报错?...踩坑姿势: Arrays.asList()把数组转换成集合时,不能使用其修改集合相关的方法,的 add/remove/clear 方法会抛出 UnsupportedOperationException...7. toArray() 集合转换数组 当我们需要一个集合转换为数组时,往往会调用 toArray() 方法,如果你用的是无参的这个可以? ? 当然不可以啦!

    60640

    一行能装逼的 JavaScript 代码

    运算符用红色标出,有一点可能大家会意识不到,其实中括号[]也是一个运算符,用来通过索引访问数组项,另外也可以访问字符串的子字符,有点类似charAt方法,如:’abcd'[1] // 返回’b’。...2、 通过ToNumber()把值转换成Number,直接看ECMA 9.3的表格 规则如下: ? 3. 通过ToString()把值转化成字符串, 直接看ECMA 9.8的表格 规则如下: ?...有了9和10,我们来到了子表达式4,此刻已经长这样了:2+1, 好,不多说了。 继续看表达式7:!(~+[]),~+[]=-1,这个根据上面已经知道了,那!-1是什么呢?...一个布尔加一个对象,那这个{}应该先转化为原始类型,流程如下: 1)、调用toPrimitive,发现是object类型 2)、调用valueOf,返回自身{}, 3)、不是原始类型,调用toString...回顾一下这个过程其实也不复杂,只是有一些需要重复劳动的,只要你掌握了运算的优先级,能把大串分解成一个个小串,然后运用类型转化的知识挨个处理就搞定了。 怎么样,看到这里你还觉得神奇

    1.1K40

    java字符串的字节数组_Java字节数组字符串到字节数组

    [B@405217f8  发送(这是Arrays.toString()的结果,应该的字节数据的字符串表示形式,该数据将通过电线发送):  [-47, 1, 16, 84, 2, 101, 110,...有帮助?  您不能只使用返回的字符串并从中构造一个字符串……它不再是byte[]数据类型,已经是一个字符串;您需要解析。...如果s2.getBytes()是new String(b1)的对立面,则需要找到Arrays.toString(b1)的对立面,因此将代码粘贴到了此答案的第一段中。  真棒!...这么多否决票,却没有那么多解释...说的不行吗?当我使用它时起作用了,问题是如何从字节转换为字符串然后再次返回,对?  解决该问题的答案实际上被标记为答案。...@suninsky使用String到byte[]到String可以更容易地显示一个很好的示例,无论哪种方式,都能提供您需要的所有信息。  基于问题主题来到了这个话题,这个答案可以完全回答。

    5.2K30

    JavaScript 实现的4种数字千位符格式化方法

    所谓的数字千分位形式,即从个位数起,每三位之间加一个逗号。例如“10,000”。针对这个需求,起初写了这样一个函数 ?...= 0) { result.unshift(','); } } return result.join(''); } 方法一的执行过程就是把数字转换成字符串后,打散为数组,再从末尾开始,逐个把数组中的元素插入到新数组...每插入一个元素,counter就计一次数(加1),当counter为3的倍数时,就插入一个逗号,但是要注意开头(i为0时)不需要逗号。最后通过调用新数组的join方法得出结果。...但是直觉告诉的性能并不好。...Google了一下,还真找到了这么一条正则表达式,这估计是代码最短的实现。 测试结果 ?

    88410

    天天用defineEmits宏函数,竟然不知道编译后是vue2的选项式API?

    content: ctx.s.toString(), }; } 如果看过上一篇 为什么defineProps宏函数不需要从vue中import导入?...magic-string是一个用于高效操作字符串的 JavaScript 库。提供丰富的 API,可以轻松地对字符串进行插入、删除、替换等操作。...toString方法用于生成经过处理后返回的字符串,其余几个方法举几个例子你应该就明白了。...接着来看declarations数组下的init字段,从名字想你应该已经猜到了他的作用是表示变量的初始化值,在我们这个场景init字段就是表示defineEmits(["enlarge-text"])...首先我们需要在浏览器的source面板中找到由vue文件编译而来的js文件,然后给setup函数打上断点。在我们前面的 Vue 3 的 setup语法糖到底是什么东西?

    14610

    【源码共读】Vue2工具函数

    比较精确,如数组也是对象,通过这个方法能得到是数组,而不只是对象。然后通过slice(8, -1)把参数的类型部分拿到。 3.2 toString 转换成字符串。...JSON.stringify(val, null, 2) : String(val)} 首先,原始类型通过String()方法就能直接转换成对应的字符串,但是undefined和null转换成字符串应该是空串才更合理...3.3 toNumber 转换成数字型,如果没法转换成数字型就返回原字符串。该方法参数只能是字符串类型。...不过,该方法用法应该只是将数组里的对象合并到另一个对象中去(从注释猜测的) 4. makeMap系列 主要介绍makeMap方法以及使用makeMap方法的。...简单讲一下步骤: Object.create(null)生成没有原型链的空对象 str.split(',')把字符串以,为分隔符,将字符串分割为字符串数组 遍历分割的数组,以子字符串为key,以

    82630

    被难倒了! 针对高级前端的8个级JavaScript面试问题

    + 运算符有一个有趣的特性,那就是当其中一个操作数是字符串时,更倾向于执行字符串的连接。在我们的例子中,'1' 是一个字符串,因此 JavaScript 隐式地将数字 1 转换为字符串。...duplicate 函数使用循环来遍历给定数组中的每个项目。但在循环内部,使用 push() 方法在数组末尾添加新元素。这导致数组每次都会变长,从而产生一个问题:循环永远不会停止。...每个这样的对象都有一个原型,该原型作为对另一个对象的引用。__proto__ 属性简单地是对这个原型对象的引用。 当你试图访问对象上的一个属性或方法时,JavaScript 会进行查找过程来找到。...= '456'; console.log(a); 乍一看,这段代码似乎应该生成一个具有两个不同键值对的对象a。...将 toString 方法应用于空数组会得到一个字符串,这是一个有效的原始值: [] == 0 [].toString() == 0 "" == 0 将空数组转换为字符串给了我们一个字符串 "",现在我们面对的比较是

    18410
    领券