js各种实际场景的使用案例合集(三)

1、获取两个数组的交集

场景1:找出两个数组arr1的activityProdId值存在在arr2中,如果存在则放入新数组arr3中

场景条件

arr1=[

        { activityProdId:23, name:"06", },

        { activityProdId:56, name:"07", },

        { activityProdId:78, name:"08", }

]

arr2=[26,23,34,3,8,78,4,7,75]

场景结果

arr3=[23,78]

代码示例

let arr1 = [  
  {  
    activityProdId: 23,  
    name: "06",  
  },  
  {  
    activityProdId: 56,  
    name: "07",  
  },  
  {  
    activityProdId: 78,  
    name: "08",  
  },  
];  
  
let arr2 = [26, 23, 34, 3, 8, 78, 4, 7, 75];  
let arr3 = [];  
  
// 遍历arr1  
arr1.forEach(item => {  
  // 检查arr2是否包含当前元素的activityProdId  
  if (arr2.includes(item.activityProdId)) {  
    // 如果包含,则将该activityProdId添加到arr3中  
    arr3.push(item.activityProdId);  
  }  
});  
  
console.log(arr3); // 输出: [23, 78]

场景2:遍历merchantList数组每个值,当merchantList值等于数组list的value属性的值时,则将list的label插入到str字符串,每个label值用,隔开

场景条件

merchantList=[23,43]

list=[{value:54,label:'测试1'},{value:23,label:'测试4'},{value:54,label:'测试46'},{value:43,label:'测试566'}]

场景结果

str='测试4,测试566'

代码示例

// 给定的数组  
const merchantList = [23, 43];  
const list = [  
  { value: 54, label: '测试1' },  
  { value: 23, label: '测试4' },  
  { value: 54, label: '测试46' },  
  { value: 43, label: '测试566' }  
];  
  
// 初始化结果字符串  
let str = '';  
  
// 遍历 merchantList  
merchantList.forEach(merchantId => {  
  // 查找 list 中 value 等于 merchantId 的对象  
  const foundItem = list.find(item => item.value === merchantId);  
    
  // 如果找到了匹配的对象,则将其 label 添加到 str 中  
  if (foundItem) {  
    // 如果 str 已经是空字符串或者不是以逗号结尾,则先添加一个逗号  
    if (str && !str.endsWith(',')) {  
      str += ',';  
    }  
    str += foundItem.label;  
  }  
});  
  
// 输出结果  
console.log(str); // 输出: "测试4,测试566"

2、页面动态滑动

场景1:点击按钮,动态下滑至指定目标

场景条件:滚动到页面模块2的位置

场景结果

代码示例1

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
  <style>
    body{
      margin: 0;
      margin-left: 20px;
    }
    .box1{
      width: 100px;
      height: 980px;
      background-color: rgb(245, 155, 155);
    }
    .box2{
      width: 100px;
      height: 1200px;
      background-color: antiquewhite;
    }
  </style>
</head>
<body>
  <button onclick="scrollToPosition()">到模块2</button>
  <div class="box1">模块1</div>
  <div id="target" class="box2">模块2</div>
  <script>
    function scrollToPosition() {
      window.scrollTo(0, 1000);
    }
  </script>
</body>
</html>

代码示例2

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
  <style>
    body{
      margin: 0;
      margin-left: 20px;
    }
    .box1{
      width: 100px;
      height: 980px;
      background-color: rgb(245, 155, 155);
    }
    .box2{
      width: 100px;
      height: 1200px;
      background-color: antiquewhite;
    }
  </style>
</head>
<body>
  <button onclick="scrollToElement()">到模块2</button>
  <div class="box1">模块1</div>
  <div id="target" class="box2">模块2</div>
  <script>
    function scrollToElement() {  
      // 获取目标元素  
      var targetDom = document.getElementById("target");  
        
      // 滚动到该元素  
      // {behavior: "smooth"} 使得滚动变得平滑  
      targetDom.scrollIntoView({behavior: "smooth"});  
    }  
  </script>
</body>
</html>

3、此刻时间

场景1:动态获取当前实时的时间进行展示,格式为2024-03-05 12:35:01

场景结果

代码示例

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
  <style>
    #currentTime{
      font-size: 30px;
      font-weight: bolder;
    }
  </style>
</head>
<body>
  <div id="currentTime">加载中...</div>

  <script>
    function updateTime() {  
      // 创建一个新的Date实例,该实例包含了当前的日期和时间  
      var now = new Date();  
    
      // 格式化日期时间字符串  
      var formattedTime = now.getFullYear() + '-' +  
                          (('0' + (now.getMonth() + 1)).slice(-2)) + '-' +  
                          (('0' + now.getDate()).slice(-2)) + ' ' +  
                          (('0' + now.getHours()).slice(-2)) + ':' +  
                          (('0' + now.getMinutes()).slice(-2)) + ':' +  
                          (('0' + now.getSeconds()).slice(-2));  
    
      // 将格式化后的时间设置到页面元素中  
      document.getElementById('currentTime').textContent = formattedTime;  
    }
    // 页面加载完成后立即更新时间  
    updateTime();
    // 设置一个定时器,每隔1000毫秒(1秒)更新一次时间
    setInterval(updateTime, 1000);
  </script>
</body>
</html>
  • 4
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Vue.js 是一种流行的 JavaScript 前端框架,用于构建交互式的单页面应用程序 (SPA)。它以简洁、易用和灵活的特点而受到开发者的喜爱。下面是关于 Vue.js 的简要介绍、使用场景案例: 1. 简要介绍:Vue.js 是一个渐进式框架,它通过使用组件化开发和响应式数据绑定的方式,使构建交互式前端应用程序更加简单和高效。Vue.js 的核心库非常轻量级,可以逐步引入其他功能模块,例如路由、状态管理等,以满足不同项目的需求。 2. 使用场景:Vue.js 适用于各种前端开发场景,包括单页面应用程序 (SPA)、多页面应用程序、移动应用程序、桌面应用程序等。由于 Vue.js 的易用性和灵活性,它被广泛用于构建各种规模的项目,从小型个人网站到大型企业级应用程序。 3. 案例:以下是一些使用 Vue.js 的著名案例实际应用场景: - Alibaba(阿里巴巴):Vue.js 在阿里巴巴旗下的一些项目中得到广泛应用,如支付宝、淘宝等。 - Xiaomi(小米):小米的官方网站和一些移动应用程序中使用了 Vue.js。 - Bilibili(哔哩哔哩):Vue.js 是 Bilibili 弹幕视频网站的核心技术之一。 - GitLab:GitLab 是一个基于 Vue.js 构建的开源代码托管平台。 - Laravel:Laravel 是一个流行的 PHP Web 开发框架,它的后台管理界面使用了 Vue.js。 这些案例展示了 Vue.js 在不同领域和项目中的广泛应用。通过其简洁的语法和丰富的功能,Vue.js 提供了一种高效、灵活和可维护的前端开发方式。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

五秒法则

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值