从lodash

时间:2017-08-07 14:53:35

标签: angular typescript

我让它在代码段中工作但不在我的打字稿代码中。我得到了

  

属性colorId和sizeId在类型{}

上不存在

 const ids = [
        {
            "skuId": 693194,
            "sizeId": "12M",
            "colorId": "ROSE"
        },
        {
            "skuId": 693195,
            "sizeId": "14M",
            "colorId": "ROSE"
        },
        {
            "skuId": 973804,
            "sizeId": "6M",
            "colorId": "GREEN"
        }
     ]
     
     const sku = _.result(_.find(ids, function(sku) {
                  return sku.colorId === 'ROSE' && 
                    sku.sizeId === '14M';
                                    }), 'skuId');
                                    
                                    console.log(sku);
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.4/lodash.min.js"></script>

2 个答案:

答案 0 :(得分:0)

如果您正在使用打字稿和角度,请尝试使用:

# -*- coding: utf-8 -*-
import scrapy

from scrapy.spiders import CrawlSpider
from scrapy.spiders import Rule
from scrapy.linkextractors import Linkextractors

class MpuDivsSpider(CrawlSpider):
    name = 'mpu_divs'
    allowed_domains = ['www.capitalfm.com']
    start_urls = ['http://www.capitalfm.com/']

#http://www.capitalfm.com/music-news/kylie-jenner-outcast-not-made-for-fame/
#http://www.capitalfm.com/artists/adele/news/grenfell-kids-cinema/
#http://www.capitalfm.com/music-news/week-photos/7-august-2017/justin-bieber/
#http://www.capitalfm.com/music-news/week-photos/7-august-2017/leigh-anne-pinnock/
    rules = [

        Rule(LinkExtractor(allow=[r'/7-august-2017/\w*'])
        callback='parse_item',
        follow = True)
    ]

    def parse_item(self, response):
        print response.url

希望它可以帮到你

答案 1 :(得分:0)

通过将id转换为Array

解决了这个问题
_.result(_.find(<Array<any>>ids, function(sku) {
              return sku.colorId === 'ROSE' && 
                sku.sizeId === '14M';
                                }), 'skuId');

                                console.log(sku);