我正试图找到一种方法来使用一个列表来过滤掉另一个列表的元素.
有点像交叉语法但完全相反
lst = [0,1,2,6]
secondlst = [0,1,2,3,4,5,6]
Run Code Online (Sandbox Code Playgroud)
预期结果
[3,4,5]
Run Code Online (Sandbox Code Playgroud) 我正在为产品销售网站编写自己的特定网络爬虫.由于它们的编码性质非常糟糕,我得到的网址指向同一页面.
例一
http://www.hizlial.com/bilgisayar/bilgisayar-bilesenleri/bilgisayar/yazicilar/samsung-scx-3200-tarayici-fotokopi-lazer-yazici_30.033.1271.0043.htm
Run Code Online (Sandbox Code Playgroud)
例如,上面的页面与下面相同
http://www.hizlial.com/bilgisayar-bilesenleri/bilgisayar/yazicilar/samsung-scx-3200-tarayici-fotokopi-lazer-yazici_30.033.1271.0043.htm
Run Code Online (Sandbox Code Playgroud)
正如您所看到的,当您通过'/'角色分割时,它包含2个"bilgisayar"元素
所以我想要的是我想分割这样的网址
string[] lstSPlit = srURL.Split('/');
Run Code Online (Sandbox Code Playgroud)
之后检查该列表是否包含多次相同的元素.任何元素.如果包含任何元素,我将跳过网址,因为我已经有从其他页面提取的真实网址.那么这样做的最佳方式是什么?
更长但工作的版本
string[] lstSPlit = srHref.Split('/');
bool blDoNotAdd = false;
HashSet<string> splitHashSet=new HashSet<string>();
foreach (var vrLstValue in lstSPlit)
{
if (vrLstValue.Length > 1)
{
if (splitHashSet.Contains(vrLstValue) == false)
{
splitHashSet.Add(vrLstValue);
}
else
{
blDoNotAdd = true;
break;
}
}
}
Run Code Online (Sandbox Code Playgroud) 当放置/放置元素(通过从一个 DIV 拖到另一个 DIV)然后在放置的 DIV 中移除一个元素时,其中一些正在改变位置。
这是一个测试场景:http : //jsfiddle.net/TcYHW/8/
和主要代码:
<div id="dropwin"></div>
<div id="dragables">
<div id="d1" class="d"></div>
<div id="d2" class="d"></div>
<div id="d3" class="d"></div>
<div id="d4" class="d"></div>
</div>
$(".d").draggable({
containment: '#dropwin',
stack: '#dragables div',
cursor: 'move',
});
Run Code Online (Sandbox Code Playgroud)
我怎样才能避免这种情况?
我发现,元素被放置在相对于起始位置的位置。即使有一些被移除,我怎样才能让它们粘在掉落的位置?
我发现了两个几乎相似的问题,但没有令人满意的答案:
我有一个表单,其中包含两个具有唯一名称的文件元素。我想从 Zend_File_Transfer_Adapter_Http() 到达每个文件元素;我怎样才能做到这一点?如果我使用
$apt = new Zend_File_Transfer_Adapter_Http(); . . $apt->receive();
已上传两个文件。但我对每个文件元素执行不同的查询。
例如
$smallPic = 我从输入 smallPic 得到的小图片名称 我执行 更新产品设置 smallPic = '$smallPic' 和大图片 $largePic = 我从输入 largePic 中获得的大图片名称 我执行 更新产品集 largePic = '$largePic'
如何使用 $apt 访问每个输入文件元素?
我有一个由元组组成的类型同义词卡。我还有一个类型同义词Deck定义为 [Card](卡片列表)。
由于读取文件,我被 IO monad 困住了,具体来说,我有一个类型为 IO Deck 的对象。我将如何检索卡片列表的各个元素?由于 IO monad,类型似乎不再是列表,所以我不能使用 !! 操作员。
以下代码将按名称获取元素,我要将其更改为按 ID 获取元素,如何制作?
<?
if($_SERVER["REQUEST_METHOD"] == "POST" && array_key_exists("calculateFormSubmit", $_POST)) {
$connectionData = ["server" => "","user" => "","pass" => "","database" => ""];
$db = null;
try {
$db = new PDO("mysql:host=" . $connectionData["server"] . ";dbname=" . $connectionData["database"], $connectionData["user"], $connectionData["pass"]);
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
}
catch(PDOException $e) {
echo $e->getMessage();
}
$dateFrom = (int)$_POST["YearBox"] . "-" . (int)$_POST["gmonth"] . "-" . (int)$_POST["gday1"];
$dateTo = (int)$_POST["gyear2"] . "-" . (int)$_POST["gmonth2"] . "-" . (int)$_POST["gday2"];
$stmt = $db->prepare("SELECT SUM(rialamount) as sum_result FROM problem_tbl WHERE opening_date …Run Code Online (Sandbox Code Playgroud) 通过标题“ACTIVITY_1”查找 div 元素的最佳方法是什么:
<div class="col-xs-3 no-margin no-padding type..." data-ng-class="..." data-ng-click="..." title="ACTIVITY_1"
Run Code Online (Sandbox Code Playgroud)
谢谢
我正在学习 Javascript/SVG 组合(动画和制作交互式 SVG)。
我想创建一个代码片段,其中可以将菜单元素(“库存”)拖到主屏幕(“画布”)上,而原始元素将保留在其位置(就像将其副本从原始元素中移出一样)元素)。
在这里,我尽我所能制作了代码片段:http : //codepen.io/cmer41k/pen/f2b5eea274cdde29b0b2dc8a2424a645
所以我设法做了一些事情,但它有问题:
我可以处理 1 个副本并使其可拖动,但是我不知道如何处理所有这些生成元素的 ID,这会导致拖动问题
我不明白如何让它无限期地工作(这样它就可以产生任何数量的可拖动到画布的圆圈)
画布中的可拖动元素经常重叠,我无法以它们不重叠的方式附加侦听器,因此我拖动的元素上的侦听器将“通过”那里的任何其他元素传播;(
问题基本上是 - 有人可以建议我应该放入这个片段的逻辑,这样它就不会那么麻烦。我很确定我在这里遗漏了一些东西;((例如,它不应该那么难,不是吗?)
HTML:
<body>
<svg id="svg"
height="800"
width="480"
viewbox="0 0 480 800"
preserveAspectRatio="xMinYMin meet"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
>
<rect id="canvasBackground" width="480" height="480" x="0" y="0"/>
<rect id="inventoryBackground" width="480" height="100" x="0" y="480"/>
<g id="inventory">
<path id="curve4" class="inventory" d="M60,530 A35,35 0 1,1 60,531" />
<path id="curve3" class="inventory" d="M150,530 A35,35 0 1,1 150,531" />
<path id="curve2" class="inventory" d="M240,530 A35,35 0 1,1 240,531" />
<path id="curve1" class="inventory" d="M330,530 A35,35 …Run Code Online (Sandbox Code Playgroud) 我得到了一个数组a = [1,2,3,4,5]和一个b = [1,3]包含a. 所以它是 的一种子数组a。
在下面的这个 for 循环中,我可以使用 的元素b来“做某事”。现在,我如何在同一个循环中与a不是一部分的元素进行交互b?这意味着2, 4 and 5从a? 如何过滤掉它们?
function action (){
for (var i=0; i<b.length; i++) {
b[i].x = "do something";
}
Run Code Online (Sandbox Code Playgroud)
非常感谢”
我正在使用量角器针对 Angular 应用程序构建一些测试操作。我试图让我的定位器尽可能易于阅读和维护,并试图使用“元素链接”来做到这一点。根据我在 SO 和 Protractor 文档中阅读的所有内容,我认为以下定位器策略应该有效:
xpPanelPayment 变量的定义只是为了便于阅读。
let xpPanelPayment = "//div [@class='panel-heading' and text()='Payment']/following-sibling::div [@class='panel-body']";
this.pnlPayment = element(by.xpath(`${xpPanelPayment}`));
this.valTotalPayment = element(by.xpath(`${xpPanelPayment}`))
.element(by.xpath(`//strong [text()='Total Payment:']/../following-sibling::div/strong`));
Run Code Online (Sandbox Code Playgroud)
我更喜欢的是:
this.valTotalPayment = this.pnlPayment
.element(by.xpath(`//strong [text()='Total Payment:']/../following-sibling::div/strong`));
Run Code Online (Sandbox Code Playgroud)
但是当我尝试这样做时,我收到一个错误,似乎表明 this.pnlPayment 未定义。也许这是一个线索?
这是使用这些定位器的方法:
const Receipt = require('./Receipt.js').Receipt;
exports.verifyTotalPayment = (payment) => {
it(`Receipt Validation - Verify total payment $${payment}`, () => {
console.log(`Receipt.pnlPayment.locator() = '${Receipt.pnlPayment.locator()}'`);
console.log(`Receipt.valTotalPayment.locator() =
'${Receipt.valTotalPayment.locator()}'`);
expect(Receipt.valTotalPayment.getText()).toEqual(`$${payment}`);
});
}
Run Code Online (Sandbox Code Playgroud)
下面是运行日志的内容:
Receipt.pnlPayment.locator() = 'By(xpath, //div [@class='panel-heading' and text()='Payment']/following-sibling::div [@class='panel-body'])'
Receipt.valTotalPayment.locator() = 'By(xpath, //strong [text()='Total Payment:']/../following-sibling::div/strong)' …Run Code Online (Sandbox Code Playgroud)