gpt4 book ai didi

javascript - 从输入中展平嵌套数组

转载 作者:行者123 更新时间:2023-11-27 23:25:24 27 4
gpt4 key购买 nike

我想平展用户提交的嵌套数组。

这就是它应该如何工作的:用户输入:[[1],[2],[3, 4],[5],[6, 7]]他得到结果:[1,2,3,4,5,6,7]

它不起作用,因为我可以从输入数据创建一个数组。

$( document ).ready(function() {

//Get input data and make an array of it
var tablica = $('.tablica').val();
var myArray = [ tablica ];



$('input').on('click', function(e) {
e.preventDefault();

console.log(myArray);
//myArray gives me: ["[[1],[2],[3, 4],[5],[6, 7]]"] instead of [[1],[2],[3, 4],[5],[6, 7]] and that's why script doesnt work..

var flat_arr = [].concat.apply([], myArray);



$('.wynik').html(tablica + ' => ' + flat_arr);


});

});

HTML:

 <form>
<input type="text" class="tablica" name="tablica" value="[1],[2],[3, 4],[5],[6, 7]">
<input type="submit" value="Konwertuj">
</form>

<p class="wynik"></p>

我怎样才能让这个脚本工作?不知道如何将输入数据正确放入数组中。

最佳答案

我会使用JSON.parse,然后使用concat,如下所示:

$( document ).ready(function() {

//Get input data and make an array of it
var tablica = $('.tablica').val();
var temp = JSON.parse('['+tablica+']');
var myArray=[].concat.apply([], temp);

$('input').on('click', function(e) {
e.preventDefault();

console.log(myArray);

$('.wynik').html(tablica + ' => ' + JSON.stringify(myArray));

});

});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js"></script>
<form>
<input type="text" class="tablica" name="tablica" value="[1],[2],[3, 4],[5],[6, 7]">
<input type="submit" value="Konwertuj">
</form>

<p class="wynik"></p>

关于javascript - 从输入中展平嵌套数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34999404/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com