零售编程任务

如何帮助卖方确定是否有具有正确特征的产品?

例子
我们经常来鞋店并选择您喜欢的型号,所以我们等到卖家确定是否有合适的尺码

给定


变体清单。 每个变体又包含属性及其值的列表。

example-data.json
[ { "Size": 37, "Color": "Brown", "Lock": "Zipper" }, { "Size": 37, "Color": "Black", "Lock": "Zipper" }, { "Size": 38, "Color": "Blue", "Lock": "Laces" }, { "Size": 39, "Color": "Blue", "Lock": "Laces" }, { "Size": 39, "Color": "Brown", "Lock": "Zipper" }, { "Size": 39, "Color": "Brown", "Lock": "Laces" }, { "Size": 40, "Color": "Brown", "Lock": "Laces" } ] 


必须创建一个接口,供卖方选择必要的属性后,才能确定商品是否有库存。

条款:


  • 变体包含完整的属性列表(没有任何未知值的变体,如果该属性存在于一个变体中,则全部存在)
  • 属性值选项列表的长度因属性而异(一个属性可以取两个值之一,另一个取四个值,依此类推)
  • 一个属性只能有一个值。

功能性:


该接口是一个列表列表,其中第一层是属性的类型,第二层是属性的值。

每个元素可以处于3种状态:

  • 可供选择-白色
  • 主动-蓝色
  • 可提供其他组合-灰色

一开始,所有项目都是可选的。



选择其中一个属性后,将检查其余所有属性。



我们选择了37(可以以棕色开头,逻辑相同)。 所有其他尺寸均为白色(因为它们是根据条件而定)。 没有蓝色。 它变为灰色,其余为白色。 37仅在闪电上。 因此会自动选择闪电。 在这里,注意! 40没有闪电大小,则40变成灰色。

如果我们突然需要蓝色,那么将重置大小(因为37没有蓝色)和锁(因为没有37闪电,如果是蓝色,它将保持选中状态),鞋带会自动选择(因为蓝色仅带花边),并且尺码分别为38、39。



该任务适用于:

  • 编程学生练习
  • 选择候选人的测试任务
  • 对于经验丰富的开发人员来说只是一个有趣的消遣

要求:请勿在评论中上传问题解决方案。

Source: https://habr.com/ru/post/zh-CN428662/


All Articles