当前位置: 首页 > wzjs >正文

南昌网站建设网站推广广告语

南昌网站建设网站推广,广告语,网站切片 做程序,陕西app定制一、编写一个 JavaScript 函数 filterAndSortUsers,要求实现以下功能: 输入:一个包含用户对象的数组 users,每个用户对象的结构如下: {id: number, // 用户IDname: string, // 用户名age: number, // 用…

一、编写一个 JavaScript 函数 filterAndSortUsers,要求实现以下功能:

  1. 输入:一个包含用户对象的数组 users,每个用户对象的结构如下:

    {id: number,       // 用户IDname: string,     // 用户名age: number,      // 用户年龄email: string     // 用户邮箱
    }
  2. 功能

    • 过滤出年龄大于等于 18 岁的用户。

    • 将过滤后的用户按照年龄从小到大排序。

    • 如果年龄相同,则按照 name 的字母顺序排序。

  3. 输出:返回过滤并排序后的用户数组。

  4. 示例

    const users = [{ id: 1, name: "Alice", age: 25, email: "alice@example.com" },{ id: 2, name: "Bob", age: 17, email: "bob@example.com" },{ id: 3, name: "Charlie", age: 25, email: "charlie@example.com" },{ id: 4, name: "David", age: 30, email: "david@example.com" },{ id: 5, name: "Eve", age: 16, email: "eve@example.com" }
    ];const result = filterAndSortUsers(users);
    console.log(result);

    输出结果

    [{ id: 1, name: "Alice", age: 25, email: "alice@example.com" },{ id: 3, name: "Charlie", age: 25, email: "charlie@example.com" },{ id: 4, name: "David", age: 30, email: "david@example.com" }
    ]

参考答案:

function filterAndSortUsers(users) {// 过滤出年龄大于等于 18 岁的用户const filteredUsers = users.filter(user => user.age >= 18);// 按照年龄从小到大排序,如果年龄相同则按照 name 的字母顺序排序filteredUsers.sort((a, b) => {if (a.age === b.age) {return a.name.localeCompare(b.name); // 按 name 字母顺序排序}return a.age - b.age; // 按年龄从小到大排序});return filteredUsers;
}// 测试用例
const users = [{ id: 1, name: "Alice", age: 25, email: "alice@example.com" },{ id: 2, name: "Bob", age: 17, email: "bob@example.com" },{ id: 3, name: "Charlie", age: 25, email: "charlie@example.com" },{ id: 4, name: "David", age: 30, email: "david@example.com" },{ id: 5, name: "Eve", age: 16, email: "eve@example.com" }
];const result = filterAndSortUsers(users);
console.log(result);

运行结果:

[{ id: 1, name: "Alice", age: 25, email: "alice@example.com" },{ id: 3, name: "Charlie", age: 25, email: "charlie@example.com" },{ id: 4, name: "David", age: 30, email: "david@example.com" }
]

考察点:

  1. 数组的 filter 方法:用于过滤符合条件的元素。

  2. 数组的 sort 方法:用于排序,注意排序规则的实现。

  3. 字符串的 localeCompare 方法:用于按字母顺序比较字符串。

  4. 对象属性的访问和比较。

 

二、编写一个 JavaScript 函数 groupByCategory,要求实现以下功能:

  1. 输入:一个包含商品对象的数组 products,每个商品对象的结构如下:

    {id: number,          // 商品IDname: string,        // 商品名称category: string,    // 商品分类price: number        // 商品价格
    }
  2. 功能

    • 将商品按照 category 分类。

    • 对于每个分类,计算该分类下商品的总价格。

    • 返回一个对象,键为分类名称,值为该分类下商品的总价格。

  3. 输出:返回一个对象,格式如下:

    {"分类名称1": 总价格1,"分类名称2": 总价格2,...
    }
  4. 示例

    const products = [{ id: 1, name: "iPhone", category: "Electronics", price: 999 },{ id: 2, name: "Samsung TV", category: "Electronics", price: 799 },{ id: 3, name: "Sofa", category: "Furniture", price: 500 },{ id: 4, name: "Chair", category: "Furniture", price: 100 },{ id: 5, name: "Table", category: "Furniture", price: 200 }
    ];const result = groupByCategory(products);
    console.log(result);

    输出结果

    {"Electronics": 1798,"Furniture": 800
    }

参考答案:

function groupByCategory(products) {return products.reduce((acc, product) => {// 如果分类不存在,则初始化为 0if (!acc[product.category]) {acc[product.category] = 0;}// 累加当前分类的总价格acc[product.category] += product.price;return acc;}, {});
}// 测试用例
const products = [{ id: 1, name: "iPhone", category: "Electronics", price: 999 },{ id: 2, name: "Samsung TV", category: "Electronics", price: 799 },{ id: 3, name: "Sofa", category: "Furniture", price: 500 },{ id: 4, name: "Chair", category: "Furniture", price: 100 },{ id: 5, name: "Table", category: "Furniture", price: 200 }
];const result = groupByCategory(products);
console.log(result);

运行结果:

{"Electronics": 1798,"Furniture": 800
}

考察点:

  1. 数组的 reduce 方法:用于将数组元素累积为一个值(这里是对象)。

  2. 对象的动态属性访问:通过 acc[product.category] 动态访问和更新对象的属性。

  3. 条件判断:检查分类是否已存在,若不存在则初始化。

  4. 累加逻辑:对每个分类的价格进行累加。

三、编写一个 JavaScript 函数 flattenNestedArray,要求实现以下功能:

  1. 输入:一个嵌套的多维数组 arr,数组中的元素可以是任意类型(数字、字符串、对象、数组等)。

  2. 功能:将多维数组扁平化为一维数组。

  3. 输出:返回扁平化后的一维数组。

  4. 示例

    const nestedArray = [1, [2, [3, [4, 5], 6], 7], 8, [9, 10]];
    const result = flattenNestedArray(nestedArray);
    console.log(result);

    输出结果

    [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

参考答案:

function flattenNestedArray(arr) {return arr.flat(Infinity);
}// 测试用例
const nestedArray = [1, [2, [3, [4, 5], 6], 7], 8, [9, 10]];
const result = flattenNestedArray(nestedArray);
console.log(result);

运行结果:

[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

考察点:

  1. flat():扁平化数组方法

  2. Infinity:作为参数传入意味着将数组完全压平,直到所有嵌套的子数组都被展开,即不论数组有多深的嵌套层级,都将被完全展开。

http://www.dtcms.com/wzjs/270619.html

相关文章:

  • wordpress显示不了图片不显示北京网站优化价格
  • 网站优化怎么弄西安网络推广运营公司
  • 深圳建站定制公司数据分析师需要学哪些课程
  • 群晖做网站需要备案吗株洲seo优化公司
  • 服装企业网站策划书seo优化培训机构
  • 长春百度网站排名优化搜索引擎营销分析
  • 360路由器网站建设百度搜索引擎使用技巧
  • 移动端网站模板怎么做的百度网盘怎么找片
  • 建筑设计专业的网站一键seo提交收录
  • 朝阳网站建设推广电子商务网站
  • 泰安高端网站建设网络广告策划案例
  • 平面设计师如何做网站seo优化有百度系和什么
  • 长沙网站公司哪家好网络营销软件商城
  • 在日本做色情网站营销推广的方法有哪些
  • 个人网页设计特点企业seo排名优化
  • 新网站建设方案ppt东莞百度seo哪里强
  • 采网站建设免费刷网站百度关键词
  • logo查询网站网站seo 工具
  • b2c购物网站的建设论文设计公司
  • wordpress端口长沙seo优化服务
  • 网站没有关键词收录国内最新消息
  • wordpress 中文附件宁波seo外包快速推广
  • 优化疫情防控措施新十条seo网络推广培训
  • 前端开发面试题廊坊优化技巧
  • 自助建站免费永久seo流量工具
  • 软件测试培训班坑人营销型网站建设优化建站
  • 学网站建设能赚钱吗西安seo引擎搜索优化
  • wordpress mysql 密码seo怎么做最佳
  • 北京建机官网查询湖南有实力seo优化哪家好
  • 广州网站建设很棒 乐云践新关键词优化排名怎么做