1. 程式人生 > >前端陣列函式巧妙運用

前端陣列函式巧妙運用


這幾天都在溫習陣列的知識,回頭看看,才發現這麼忘記那麼多,當然也重新學到東西。所以就這幾天學到的東西進行一個總結。

1.判斷某個值是否在一個數組裡除了有query的$.inArray()之外還可以用js自帶的some函式。

var array = [1, 2, 3, 45, 5]
      var num = 2;
      var or = array.some(function (item, index, arrays) {
          if (item == num) {
              return index;
          }
      })
      console.log(or);//返回true
例子里根據or返回true就知道這個array裡有num這個值,if(or){}就可以往下進行其他步驟。

2.陣列快速迴圈,除了forEach之外還有map函式可以進行遍歷運算元組。

data: {
      mapt:[{ "name": "珊珊", "age": 24, "status": 1 },
      { "name": "小熊", "age": 28, "status": 2 },
      { "name": "文哥", "age": 25, "status": 3 },
      { "name": "歐少", "age": 24, "status": 1 },
      { "name": "小珍", "age": 24, "status": 1 }]
  },

onLoad: function (options) {
        var that = this;
      this.data.mapt.map(function (item, index) {
          if (item.status == 1) {
              item.getData = "紅色";
          } else if (item.status == 3) {
              item.getData = "藍色"
          } else {
              item.getData = "黑色"
          }
      })
      that.setData({ mapt: that.data.mapt });
  },
上面map的案例是用於增加陣列的項(目前我本人只用於vue.js的陣列新增及小程式陣列項的新增),最終生成是
mapt:[{ "name": "珊珊", "age": 24, "status": 1,"getData":"紅色" },
      { "name": "小熊", "age": 28, "status": 2,"getData":"黑色" },
      { "name": "文哥", "age": 25, "status": 3,"getData":"藍色" },
      { "name": "歐少", "age": 24, "status": 1,"getData":"紅色" },
      { "name": "小珍", "age": 24, "status": 1 ,"getData":"紅色"}]
當然,map函式也可以修改陣列已有的項的內容,類似的操作。

說到這裡,我想說一下我在研究map時看到帖子的array.map(parseInt)的問題,這個讓我又漲知識了。

array = ["1", "2", "3", "4", 5, 6, 7, 8, 9, 10];
array.map(parseInt);//得到的結果是1,undefined......
為什麼會出現這個問題呢?主要是因為parseInt裡面有兩個引數,第二個引數是基數而且最大值是(2~36),如果你看到這不懂的話可以百度一下這個哦,我這就不詳細說了。

那遇到這個問題我們該怎麼解決呢?看下:

var array = ["1", "2", "3", "4", 5, 6, 7, 8, 9, 10];
      var list = [];
      array.map(function (item, index) {
          item = parseInt(item);
          list.push(item)
      });
      array = list;
      console.log(array)
這樣就可以得到轉換後的資料。

3.擷取函式其中的一部分,並且不改變原陣列,可以用slice。這個我就不做太多總結,因為簡單。

4.還是說一下判斷今天是星期幾的吧,之前我都是用if else 但是這個很麻煩,雖然可以實現,後面學到一個數組簡單的寫法

 var array = ["週日", "週一", "週二", "週三", "週四", "週五", "週六"]
var week = array[new Date(res.detail.orderDate).getDay()]
這兩天得到的大概就是這些知識點,希望你們看見也能跟我一樣用起來哦!

相關推薦

前端陣列函式巧妙運用

這幾天都在溫習陣列的知識,回頭看看,才發現這麼忘記那麼多,當然也重新學到東西。所以就這幾天學到的東西進行一個總結。 1.判斷某個值是否在一個數組裡除了有query的$.inArray()之外還可以用js自帶的some函式。 var array = [1, 2, 3, 45

kmp next 陣列巧妙運用+dp

題意:         給你一個串,求用該串所有字首去 匹配本身這個串的次數 的總和。比如串abab,它的字首有a,ab,aba,abab。那麼拿這4個字首去匹配abab自身分別有2,2,1,1個匹配點,所以總和為2+2+1+1=6。 思想: 其實

有效的數獨 LeetCode(陣列巧妙運用)

  有效的數獨 判斷一個 9x9 的數獨是否有效。只需要根據以下規則,驗證已經填入的數字是否有效即可。 數字 1-9 在每一行只能出現一次。 數字 1-9 在每一列只能出現一次。 數字 1-9 在每一個以粗實線分隔的 3x3 宮內只能出現一次。 上圖是一個部分填充

Codewars 打怪日記 5星級kyu 數獨遊戲 我是否完成了陣列 Did I Finish my Sudoku? 看小菜和大神迴圈的巧妙運用

史蒂夫·喬布斯說過,每個人都應該學習給電腦編寫程式的技術,因為這一過程能夠教你如何去思考!學習程式設計的渠道有很多種,比如你可以利用一些互動平臺或者書籍去學習程式設計,無論是哪種,只要找到適合自己的就OK。程式設計極富有創造性,你可以創造出許多新奇有趣的想法。很多時候,開發

常用的陣列函式-S

header('content-type:text/html;charset=utf-8'); //宣告一個數組 $arr=['one'=>'aaa','two'=>'bbb','three'=>'ccc','four'=>'ddd']; var_dump

js 陣列函式

js相關的陣列函式 1 concat() 方法用於連線兩個或多個數組。 語法 arrayObject.concat(arrayX,arrayX,……,arrayX) 返回值 返回一個新的陣列。該陣列是通過把所有 arrayX 引數新增到 arrayObject 中生

PHP陣列函式常用匯總

一、is_array():判斷變數是否為陣列;// is_string 判斷是否為字元  is_numeric:數字或數字字串       用法:is_array(變數);//是陣列返回 true,不是返回false 實際應用:在迴圈陣列之前先判斷是否為陣

c語言函式運用

1.猜數字遊戲 將選單和執行猜數字的主體都用main函式以外的自定義函式編寫,再由main函式呼叫後,執行結果 #define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <stdlib.h> #incl

Codeforces 828C String Reconstruction【並查集巧妙運用

LINK 題目大意 給你n個串和在原串中的出現位置,問原串 思路 直接跑肯定是GG 考慮怎麼優化 因為保證有解,所以考慮過的點我們就不再考慮 用並查集維護當前每個點之後最早的沒有被更新過的點 然後就做完了,很巧妙對吧 c++//Author: dream_maker #include&l

前端封閉函式使用~ + -運算子的副作用

眾所周知,在js中可以這樣建立一個匿名函式: 1 2 3 (function(){do something...})() //或 (function(){do something...}()) 而也有人這樣寫:

巧妙運用按位與 & ,獲取所需二進位制序列。

求寫一個引數中的二進位制位數為1的返回值: #include <stdio.h> int count_one_bits (unsigned int value) { int i=0; for (i=0;i<32;i++) { if (value>&

javaDay06_4_陣列的小運用

package com.company;public class javaDay06_4 { public static void main(String[] args){ //使用陣列和函式來求多個數的和 int arr1[]=new int[]{1,2,3,4,5,6};

PHP之陣列函式

PHP之陣列函式(一) array_combine(array $keys , array $values); 描述:生成一個數組,用一個數組的值作為鍵名,另一個數組的值作為值 引數: 例子: <?php $a =

php陣列函式和字串函式

字串: 陣列:array_walk(), array_filter(),array_multisort() ,array_shift() 字串示例: 陣列示例: array_walk() 函式對陣列中的每個元素應用使用者自定義函式。在函式中,陣列的鍵名和鍵值是引數。 $a

text-overflow:ellipsis的巧妙運用

關鍵字: text-overflow:ellipsis 語法:text-overflow : clip | ellipsis 取值: clip :預設值 。不顯示省略標記(…),而是簡單的裁切. ellipsis: 當物件內文字溢位時顯示省略標記(…). 可惜text-over

php 之陣列函式

array() 建立陣列。 array_change_key_case() 把陣列中所有鍵更改為小寫或大寫。 array_chunk() 把一個數組分割為新的陣列塊。

PHP 陣列函式 array_multisort的使用

 array_multisort:函式返回排序陣列。您可以輸入一個或多個數組。函式先對第一個陣列進行排序,接著是其他陣列,如果兩個或多個值相同,它將對下一個陣列進行排序。 <?php $a1=array(1,30,15,7,25); $a2=array(4,30,20,41,

vue javascript 前端陣列物件去重

this.unique(this.dataList) unique(arr) {   const res = new Map();   return arr.filter((arr) => !res.has(arr.id) &&

POJ 2337 尤拉圖的巧妙運用

題意:         給你一組N個單詞,現在要你輸出這樣一組單詞序列。該序列包含了所有N個單詞,且該序列中的前一個單詞的最後一個字母與後一個單詞的第一個字母相同。如果存在多個這種首尾相連的序列,就輸出字典序最小的那個即可。 程式碼: #inclu

陣列指標與指標陣列 函式指標與指標函式

/* 陣列指標實質是一個指標,它指向陣列,如對於一個二維陣列指標,指標指向每行元素的首地址*//*#include<stdio.h> int main(){ int a[3][3]={1,2,3,4,5,6,7,8,9}; int (*Pint)[3]=&a[0]; printf("