账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    Property 'find' does not exist on type 'Product[]?
    39
    0
    import * as express from 'express'
    import {Server} from 'ws'
    
    
    const app = express()
    
    export class Product {
        constructor(
            public id: number,
            public title: string,
            public price: number,
            public rating: number,
            public desc: string,
            public categories: Array<string>
        ) { }
    }
    
    export class Comment {
        constructor(
            public id: number,
            public productId: number,
            public timestamp: string,
            public user: string,
            public rating: number,
            public content: string
        ) {
    
        }
    }
    
    const products: Product[] = [
        new Product(1, '第一个商品', 1.99, 3.5, '这是第一个商品,我在学习慕课网Angular入门实战时创建的', ['电子商品', '硬件设备']),
        new Product(2, '第二个商品', 2.99, 2.5, '这是第二个商品,我在学习慕课网Angular入门实战时创建的', ['图书']),
        new Product(3, '第三个商品', 3.99, 4.5, '这是第三个商品,我在学习慕课网Angular入门实战时创建的', ['电子商品']),
        new Product(4, '第四个商品', 4.99, 1.5, '这是第四个商品,我在学习慕课网Angular入门实战时创建的', ['硬件设备']),
        new Product(5, '第五个商品', 5.99, 3.5, '这是第五个商品,我在学习慕课网Angular入门实战时创建的', ['电子商品', '硬件设备']),
        new Product(6, '第六个商品', 6.99, 2.5, '这是第六个商品,我在学习慕课网Angular入门实战时创建的', ['图书']),
    ]
    
    const comments: Comment[] = [
        new Comment(1, 1, "2017-02-02 22:22:22", "张三", 3, "东西不错1"),
        new Comment(2, 1, "2017-02-02 22:22:22", "张三", 3, "东西不错2"),
        new Comment(3, 1, "2017-02-03 22:22:22", "张三", 3, "东西不错3"),
        new Comment(4, 1, "2017-02-04 22:22:22", "张三", 3, "东西不错4"),
        new Comment(5, 2, "2017-02-05 22:22:22", "张三", 3, "东西不错5"),
    ]
    
    app.get('/',(req,res) => {
        res.send("hello express")
    })
    
    app.get('/api/products', (req,res)=> {
        let result = products
        let params = req.query;
        if(params.title){
            result = result.filter((p) => p.title.indexOf(params.title) !== -1)
        }
    
        if (params.price && result.length > 0) {
            result = result.filter((p) => p.price <= parseInt(params.price))
        }
    
        if (params.category !== "-1" && result.length > 0) {
            result = result.filter((p) => p.categories.indexOf(params.category) !== -1)
        }
    
        
        res.json(result)
    })
    
    app.get('api/comments/:id', (req, res) => {
        console.log(req.params.id)
        res.json(comments.filter((comment: Comment) => comment.productId == req.params.id))
    })
    
    app.get('/api/product/:id',(req,res) => {
        res.json(products.find((product)=>product.id==req.params.id))
    })
    
    
    const server = app.listen(8000, "localhost", ()=> {
        console.log("服务器已经启动")
    })
    
    const wsServer = new Server({port:8085});
    wsServer.on("connection", websocket => {
        websocket.send("这个消息是服务器主动发送的"),
        websocket.on("message", message => {
            console.log("接收到消息"+ message)
        })
    } )
    

    编译的时候报了个错

    error TS2339: Property 'find' does not exist on type 'Product[]'.   
    
    帮我说一下怎么改?谢谢了
    
    
    git地址在https://github.com/yyccQQu/18ng2
    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • "╰+媚丶 普通会员 1楼
      502 Bad Gateway

      502 Bad Gateway


      nginx
    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部