我正在尝试这样做:
var items = $("main a").unique();
var links = [];
items.each(function (index, value)
{
links.push({
href: this.href,
text: this.text
});
});
这个想法是找到页面上的所有链接并删除重复项,生成一个带有href / text对的对象。但上面不起作用,我得到“TypeError:$(...)。unique is not a function”
答案 0 :(得分:2)
您正在正确呼叫$.unique()
。它不是jQuery对象的方法,它是一个实际的函数。你真的想要:
$.uniqueSort($("main a"))
另外,学会使用.map()
而不是推送数组:
var links = $.uniqueSort($("main a")).map(function(idx, e) {
return {href: e.href, text: e.text}
})
(注意:这个.map()
是jQuery版本,其中回调的第一个参数是数组/对象的索引而不是数组元素,因为应用于jQuery对象的$.uniqueSort()
返回一个jQuery object不是本机JavaScript数组。)
答案 1 :(得分:0)
jQuery中唯一的正确语法是:
CREATE FUNCTION get_previous_transaction_date (p_client VARCHAR2, p_account_no VARCHAR2, p_trade_date DATE) RETURN DATE
IS
v_prev_date DATE;
BEGIN
SELECT MAX(trade_date)
INTO v_prev_date
FROM your_table
WHERE client = p_client
AND account_no = p_account_no
AND trade_date < p_trade_date;
RETURN v_prev_date;
END;
/
SELECT client, account_no, trade_date, amount, get_previous_transaction_date(client, account_no, trade_date)
FROM your_table;
从jQuery 3.0开始, $.uniqueSort()
is deprecated