小编asw*_*zen的帖子

如何根据另一个数组中的元素拆分数组

我有两个数组:array1和array2.因此,array1将根据内部元素array2进行拆分.例如:

array1["1","2","3","4","5","6"]
array2["2","5"]
Run Code Online (Sandbox Code Playgroud)

我的代码:

var prev = 0;
newArray = []; 
for (var ii in array2) {
    var index = array1.indexOf(array2[ii]);

    if (index != prev) {
        newArray.push(array1.slice(prev, index));
        prev = index;
    }
 }
 newArray.push(array1.slice(prev));
Run Code Online (Sandbox Code Playgroud)

结果将是:

["1"],["2","3","4"],["5","6"]
Run Code Online (Sandbox Code Playgroud)

但是现在我面临的问题是array1的元素可能没有按顺序排列.例如:["1","5","3","4","2","6"].所以根据我的代码,它将错误地拆分array1,因为array2中的第一个元素是"2",所以它已经将array1拆分为两个["1","5","3","4"],["2","6"].接下来当"5"时,它找不到它.

预期的结果是:["1"],["5","3","4"],["2","6"]

那么如何基于array2拆分array1,无论array1是按升序,降序还是随机顺序.对不起,我的英语不好.希望你们能理解.

javascript arrays jquery

6
推荐指数
2
解决办法
726
查看次数

如何在Javascript中使用for调用动态命名的方法

我有两个动态命名的JavaScript函数..

function a1(){
   //some codes
}

function a2(){
   //some codes
}

function a3(){
   //some codes
}
Run Code Online (Sandbox Code Playgroud)

这些函数上面由PHP生成肯定..

<?php 
  for($i = 1; $i <= $load_period->count; $i++){ 
?>
  <script type="text/javascript">
  function a<?php echo $i;?>(){
     //javascript functions
  }
  </script>
<?php 
  } 
?>
Run Code Online (Sandbox Code Playgroud)

现在我必须调用这两个函数..

for(var i= 1; i <= 3; i++){
   // here the solution code .. 
   // doesn't work >> a+i+();
}
Run Code Online (Sandbox Code Playgroud)
  • 注意1:它不适用于"a + i +();" .
  • 注2:我不想使用"EVAL"语法

谢谢你的解决方案..

javascript jquery dynamic-function

0
推荐指数
1
解决办法
88
查看次数

标签 统计

javascript ×2

jquery ×2

arrays ×1

dynamic-function ×1