澳门新葡萄京娱乐网站-澳门新葡萄京888官网-所有平台

热门关键词: 澳门新葡萄京娱乐网站,澳门新葡萄京888官网

先清楚这一个必会的才行

作者: 编程知识  发布:2019-12-18

正文实例陈说了PHP函数达成从二个文本字符串中提取关键字的点子。分享给我们供我们参照他事他说加以考察。具体解析如下:

变量申明

const 和 let

而不是用 var,而是用 const 和 let,分别表示常量和变量。不一样于 var 的函数功用域,const 和 let 都以块级成效域。

const DELAY = 1000;

let count = 0;
count = count + 1;

  

那是八个函数定位选用三个字符串作为参数,而且定位该字符串中的全部主要字,再次来到二个数组或三个字符串由逗号分隔的根本字。功效平常事业,但自身正在改过,由此,感兴趣的意中人能够建议纠正意见。

模板字符串

模板字符串提供了另生龙活虎种做字符串组合的法门。

const user = 'world';
console.log(`hello ${user}`);  // hello world

// 多行
const content = `
  Hello ${firstName},
  Thanks for ordering ${qty} tickets to ${event}.
`;

  

/** * Finds all of the keywords (words that appear most) on param $str * and return them in order of most occurrences to less occurrences. * @param string $str The string to search for the keywords. * @param int $minWordLen[optional] The minimun length  of a word to be considered a keyword. * @param int $minWordOccurrences[optional] The minimun number of times a word has to appear * on param $str to be considered a keyword. * @param boolean $asArray[optional] Specifies if the function returns a string with the * keywords separated by a comma  or a keywords array . * @return mixed A string with keywords separated with commas if param $asArray is true, * an array with the keywords otherwise. */function extract_keywords($str, $minWordLen = 3, $minWordOccurrences = 2, $asArray = false){ function keyword_count_sort { return $sec[1] - $first[1]; } $str = preg_replace('/[^\w0-9 ]/', ' ', $str); $str = trim(preg_replace; $words = explode; $keywords = array(); while(($c_word = array_shift { if <= $minWordLen) continue; $c_word = strtolower; if(array_key_exists $keywords[$c_word][1]++; else $keywords[$c_word] = array; } usort($keywords, 'keyword_count_sort'); $final_keywords = array(); foreach($keywords as $keyword_det) { if($keyword_det[1] < $minWordOccurrences) break; array_push($final_keywords, $keyword_det[0]); } return $asArray ? $final_keywords : implode(', ', $final_keywords);}//How to use//Basic lorem ipsum text to extract the keywords$text = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Curabitur eget ipsum ut lorem laoreet porta a non libero. Vivamus in tortor metus. Suspendisse potenti. Curabitur metus nisi, adipiscing eget placerat suscipit, suscipit vitae felis. Integer eu odio enim, sed dignissim lorem. In fringilla molestie justo, vitae varius risus lacinia ac. Nulla porttitor justo a lectus iaculis ut vestibulum magna egestas. Ut sed purus et nibh cursus fringilla at id purus.";//Echoes: lorem, suscipit, metus, fringilla, purus, justo, eget, vitae, ipsum, curabitur, adipiscingecho extract_keywords;

私下认可参数

function logActivity(activity = 'skiing') {
  console.log(activity);
}

logActivity();  // skiing

  

期望本文所述对大家的php程序设计有所辅助。

箭头函数

函数的飞跃写法,没有必要经过 function 关键字创造函数,况兼还能简轻巧单 return 关键字。

再就是,箭头函数还也许会一而再当前上下文的 this 关键字。

比如:

[1, 2, 3].map(x => x + 1); // [2, 3, 4] 等同于: [1, 2, 3].map((function(x) { return x + 1; }).bind(this));

  

模块的 Import 和 Export

import 用于引进模块,export 用于导出模块。

比如:

// 引入全部
import dva from 'dva';

// 引入部分
import { connect } from 'dva';
import { Link, Route } from 'dva/router';

// 引入全部并作为 github 对象
import * as github from './services/github';

// 导出默认
export default App;
// 部分导出,需 import { App } from './file'; 引入
export class App extend Component {};

 

析构赋值

析构赋值让大家从 Object 或 Array 里取部分数据存为变量。

// 对象
const user = { name: 'guanguan', age: 2 };
const { name, age } = user;
console.log(`${name} : ${age}`);  // guanguan : 2

// 数组
const arr = [1, 2];
const [foo, bar] = arr;
console.log(foo);  // 1

  

咱俩也足以析构传入的函数参数。

const add = (state, { payload }) => {
  return state.concat(payload);
};
析构时还可以配 alias,让代码更具有语义。

const add = (state, { payload: todo }) => {
  return state.concat(todo);
};

  

指标字面量改革

那是析构的反向操作,用于重新协会三个 Object 。

const name = 'duoduo';
const age = 8;

const user = { name, age };  // { name: 'duoduo', age: 8 }

  

概念对象方法时,还足以节约 function 关键字。

app.model({
  reducers: {
    add() {}  // 等同于 add: function() {}
  },
  effects: {
    *addRemote() {}  // 等同于 addRemote: function*() {}
  },
});

  

Spread Operator

Spread Operator 即 3 个点 ...,有三种差别的接纳方式。

可用来组装数组。

const todos = ['Learn dva'];
[...todos, 'Learn antd'];  // ['Learn dva', 'Learn antd']
也可用于获取数组的部分项。

const arr = ['a', 'b', 'c'];
const [first, ...rest] = arr;
rest;  // ['b', 'c']

// With ignore
const [first, , ...rest] = arr;
rest;  // ['c']

  

还可收罗函数参数为数组。

function directions(first, ...rest) {
  console.log(rest);
}
directions('a', 'b', 'c');  // ['b', 'c'];
代替 apply。

function foo(x, y, z) {}
const args = [1,2,3];

// 下面两句效果相同
foo.apply(null, args);
foo(...args);

  

对此 Object 来讲,用于组合成新的 Object 。(ES2017 stage-2 proposal卡塔尔(قطر‎

const foo = {
  a: 1,
  b: 2,
};
const bar = {
  b: 3,
  c: 2,
};
const d = 4;

const ret = { ...foo, ...bar, d };  // { a:1, b:3, c:2, d:4 }

  

其它,在 JSX 中 Spread Operator 还可用于扩大 props,详见 Spread Attributes。

Promises

Promise 用于更高贵地管理异步央浼。比方发起异步央浼:

fetch('/api/todos')
  .then(res => res.json())
  .then(data => ({ data }))
  .catch(err => ({ err }));

  

定义 Promise 。

const delay = (timeout) => {
  return new Promise(resolve => {
    setTimeout(resolve, timeout);
  });
};

delay(1000).then(_ => {
  console.log('executed');
});

  

 

 

本文由澳门新葡萄京娱乐网站发布于编程知识,转载请注明出处:先清楚这一个必会的才行

关键词: