问答

return 值为空。。

作者:admin 2021-09-19 我要评论

!DOCTYPE htmlhtmlmeta charset="utf-8"meta name="viewport" content="width=device-width,initial-scale=1.0"meta http-equiv="X-UA-Compatible" content="ie=...

在说正事之前,我要推荐一个福利:你还在原价购买阿里云、腾讯云、华为云服务器吗?那太亏啦!来这里,新购、升级、续费都打折,能够为您省60%的钱呢!2核4G企业级云服务器低至69元/年,点击进去看看吧>>>)
<!DOCTYPE html>
<html>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<script src="vue.js"></script>
<link rel="stylesheet" href="bootstrap.min.css">
<head>
</head>
<div id="app">
  <div class="panel panel-primary">
    <div class="panel-heading">
      <h3 class="panel-title">添加品牌</h3>
    </div>
    <div class="panel-body form-inline">
      <label>
        ID:
        <input type="text" class="form-control" v-model="id">
      </label>
      <label>
        Name:
        <input type="text" class="form-control" v-model="name">
        <input type="button" value="添加" class="btn btn-primary" @click="add">
      </label>
      <label>
        搜索名称关键字:
        <input type="text" class="form-control" v-model="keywords">
      </label>
    </div>
  </div>
  <table class="table table-bordered table-hover table-striped">
    <thead>
      <tr>
        <td>ID</td>
        <td>Name</td>
        <td>Ctime</td>
        <td>Operation</td>
      </tr>
    </thead>
    <tbody>
      <tr v-for="item in search(keywords)" :key="item.id">
        <td>{{ item.id }}</td>
        <td>{{ item.name }}</td>
        <td>{{ item.ctime  }}</td>
        <td>
          <a href="#" @click.prevent="del(item.id)">删除</a>
        </td>
      </tr>
    </tbody>
  </table>
</div>
<body>
<script>
  var vm = new Vue({
    el:'#app',
    data:{
      id:'',
      name:'',
      keywords:'',
      list:[
        {id:1,name:'奔驰',ctime: new Date()},
        {id:2,name:'宝马',ctime: new Date()},
      ]
    },
    methods:{
      add(){
        var car = {id:this.id,name:this.name,ctime:new Date()};
        this.list.push(car);
        this.id = this.name = '';
      },
      del(id){
        var index = this.list.findIndex(item =>{
          if(item.id == id){
            return true;
          }
        })
        this.list.splice(index,1);
      },
      search(keywords){
        var newList = [];
        this.list.forEach(item => {
          if(item.name.indexOf(keywords) != -1){
            newList.push(item);
          }
          // return newList;   为什么在这里 return 的newList 为空呢?
        });
        return newList; //在这里return 就没问题呢? 
      }
    }
  })
</script>
</body>
</html>

search(keywords){..}
里的内容, 为什么第一个return newlist 没值呢?

谢谢~

###
      search(keywords){
        var newList = [];
        this.list.forEach(
        /// vvvvvvvvvvvvvvvvvvvvvvvvvvvvvv
        item => {
          if(item.name.indexOf(keywords) != -1){
            newList.push(item);
          }
          // return newList;   为什么在这里 return 的newList 为空呢?
        }
        /// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        /// 这是一个函数。return 是这个函数的返回。
        /// 不是 search 的 return 。
        );
        return newList; //在这里return 就没问题呢? 
      }
    }
###

第一个 return 那里 ,forEach 循环才循环了第一个就直接返回了,当然没有值啊。

版权声明:本文转载自网络,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。本站转载出于传播更多优秀技术知识之目的,如有侵权请联系QQ/微信:153890879删除

相关文章
  • return 值为空。。

    return 值为空。。

  • 小程序关于vant-weapp弹框弹出问题

    小程序关于vant-weapp弹框弹出问题

  • 两个子域如何组建一个局域网?

    两个子域如何组建一个局域网?

  •  这句ts中,extends后面语句读不懂

    这句ts中,extends后面语句读不懂

腾讯云代理商
海外云服务器