难以将Jquery地图函数转换为箭头函数。
这是{{3}}。
def encode_headers_tween_factory(handler, registry):
def encode_headers_tween(request):
resp = handler(request)
for key in resp.headers.keys():
values = resp.headers.getall(key)
del resp.headers[key]
for value in values:
resp.headers.add(str(key), str(value))
return resp
return encode_headers_tween
config.add_tween('h.tweens.encode_headers_tween_factory')

// find elements
$('button').click(function(e) {
let answerArray = $(`[name="foo"]`).map(function() {
return $(this).val();
}).get();
console.log(answerArray)
let answerArray2 = $(`[name="foo"]`).map(x => $(x).val()).get();
console.log(answerArray2)
})

但我收到了。
VM118 jquery.js:7977 Uncaught TypeError:无法读取属性 ' toLowerCase'未定义的 在jQuery.fn.init.val(VM102 jquery.js:7977) 在HTMLInputElement。$。map.x((index):74) 在VM102 jquery.js:194 在Function.map(VM102 jquery.js:443) 在jQuery.fn.init.map(VM102 jquery.js:193) 在HTMLButtonElement。 ((指数):74) 在HTMLButtonElement.dispatch(VM102 jquery.js:5183) 在HTMLButtonElement.elemData.handle(VM102 jquery.js:4991)
答案 0 :(得分:4)
根据您的代码, x 指的是索引而不是元素,因此您收到错误。
使用.map()
的正确callback
函数参数。
类型:函数(整数索引,元素 domElement )=>宾语 将为当前集合中的每个元素调用的函数对象。
// find elements
$('button').click(function(e) {
let answerArray2 = $(`[name="foo"]`).map((i, x) => $(x).val()).get();
console.log(answerArray2)
})

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input name="foo">
<input name="foo">
<button>
enter
</button>
&#13;