从接口获取获取到数组arr=[‘1‘,‘a‘,‘2‘,‘b‘,‘3‘,‘c‘]转换成{number:‘123’,char:‘abc’}

该代码将原始数组中的每个元素遍历一次,并根据元素类型将其添加到相应的属性中。在这里,我们使用了isNaN()函数来检查一个元素是否为数字。如果是数字,则将其添加到result对象的number属性中;否则,将其添加到result对象的char属性中。最终,输出result对象即可得到所需的结果。

javascript 复制代码
// 原始数组
const arr = ['1', 'a', '2', 'b', '3', 'c'];
 
// 定义一个空对象,用于存储转换后的结果
const result = {};
 
// 遍历原始数组,将数字和字符分别存储到result对象中
for (let i = 0; i < arr.length; i++) {
  const element = arr[i];
  
  // 判断当前元素是否为数字
  if (!isNaN(element)) {
    // 如果是数字,将其添加到result对象的number属性中
    if (!result.number) {
      result.number = element;
    } else {
      result.number += element;
    }
  } else {
    // 如果不是数字,将其添加到result对象的char属性中
    if (!result.char) {
      result.char = element;
    } else {
      result.char += element;
    }
  }
}
 
console.log(result); // { number: '123', char: 'abc' }
相关推荐
一颗烂土豆7 分钟前
Meshopt 压缩深度解析,为什么它比 Draco 更快
前端·javascript·webgl
kyriewen2 小时前
同事每天催我 Code Review,我写了个脚本让 AI 替我 review PR——现在他反过来催 AI 了
前端·javascript·ai编程
weedsfly5 小时前
迭代器、生成器与异步迭代——让数据“按需流动”的艺术
前端·javascript
假如让我当三天老蒯5 小时前
前端跨域解决方案(学习用)
前端·javascript·面试
铁皮饭盒7 小时前
Bun 哪比 Node.js 快?
javascript·后端
JieE21215 小时前
LeetCode 56. 合并区间|超清晰 JS 图解思路,面试高频区间题
javascript·算法·面试
candyTong18 小时前
RTK 技术原理:一次典型会话里,80% 上下文是怎么省下来的
javascript·后端·架构
_柳青杨1 天前
深入理解 JavaScript 事件循环
前端·javascript
大家的林语冰1 天前
ES5 凉凉,Babel 8 正式发布,默认不再编译为 ES5 和 CJS......
前端·javascript·前端工程化
weedsfly1 天前
异步编程全景与事件循环——彻底搞懂 JS 执行机制
前端·javascript