• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

TypeScript filters.isUpper函数代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了TypeScript中vs/base/common/filters.isUpper函数的典型用法代码示例。如果您正苦于以下问题:TypeScript isUpper函数的具体用法?TypeScript isUpper怎么用?TypeScript isUpper使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。



在下文中一共展示了isUpper函数的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的TypeScript代码示例。

示例1: computeCharScore

function computeCharScore(query: string, queryLower: string, queryIndex: number, target: string, targetLower: string, targetIndex: number, matchesSequenceLength: number): number {
	let score = 0;

	if (queryLower[queryIndex] !== targetLower[targetIndex]) {
		return score; // no match of characters
	}

	// Character match bonus
	score += 1;

	// if (DEBUG) {
	// 	console.groupCollapsed(`%cCharacter match bonus: +1 (char: ${queryLower[queryIndex]} at index ${targetIndex}, total score: ${score})`, 'font-weight: normal');
	// }

	// Consecutive match bonus
	if (matchesSequenceLength > 0) {
		score += (matchesSequenceLength * 5);

		// if (DEBUG) {
		// 	console.log('Consecutive match bonus: ' + (matchesSequenceLength * 5));
		// }
	}

	// Same case bonus
	if (query[queryIndex] === target[targetIndex]) {
		score += 1;

		// if (DEBUG) {
		// 	console.log('Same case bonus: +1');
		// }
	}

	// Start of word bonus
	if (targetIndex === 0) {
		score += 8;

		// if (DEBUG) {
		// 	console.log('Start of word bonus: +8');
		// }
	}

	else {

		// After separator bonus
		const separatorBonus = scoreSeparatorAtPos(target.charCodeAt(targetIndex - 1));
		if (separatorBonus) {
			score += separatorBonus;

			// if (DEBUG) {
			// 	console.log('After separtor bonus: +4');
			// }
		}

		// Inside word upper case bonus (camel case)
		else if (isUpper(target.charCodeAt(targetIndex))) {
			score += 1;

			// if (DEBUG) {
			// 	console.log('Inside word upper case bonus: +1');
			// }
		}
	}

	// if (DEBUG) {
	// 	console.groupEnd();
	// }

	return score;
}
开发者ID:AlexxNica,项目名称:sqlopsstudio,代码行数:69,代码来源:quickOpenScorer.ts


示例2: _doScoreFromOffset

// Based on material from:
/*!
BEGIN THIRD PARTY
*/
/*!
* string_score.js: String Scoring Algorithm 0.1.22
*
* http://joshaven.com/string_score
* https://github.com/joshaven/string_score
*
* Copyright (C) 2009-2014 Joshaven Potter <[email protected]>
* Special thanks to all of the contributors listed here https://github.com/joshaven/string_score
* MIT License: http://opensource.org/licenses/MIT
*
* Date: Tue Mar 1 2011
* Updated: Tue Mar 10 2015
*/
function _doScoreFromOffset(target: string, query: string, targetLower: string, queryLower: string, queryLen: number, offset: number): Score {
	const matchingPositions: number[] = [];

	let targetIndex = offset;
	let queryIndex = 0;
	let score = 0;
	while (queryIndex < queryLen) {

		// Check for query character being contained in target
		const indexOfQueryInTarget = targetLower.indexOf(queryLower[queryIndex], targetIndex);

		if (indexOfQueryInTarget < 0) {
			// console.log(`Character not part of target ${query[index]}`);

			score = 0;
			break;
		}

		// Fill into positions array
		matchingPositions.push(indexOfQueryInTarget);

		// Character match bonus
		score += 1;

		// console.groupCollapsed(`%cCharacter match bonus: +1 (char: ${query[index]} at index ${indexOf}, total score: ${score})`, 'font-weight: normal');

		// Consecutive match bonus
		if (targetIndex === indexOfQueryInTarget && queryIndex > 0) {
			score += 5;

			// console.log('Consecutive match bonus: +5');
		}

		// Same case bonus
		if (target[indexOfQueryInTarget] === query[queryIndex]) {
			score += 1;

			// console.log('Same case bonus: +1');
		}

		// Start of word bonus
		if (indexOfQueryInTarget === 0) {
			score += 8;

			// console.log('Start of word bonus: +8');
		}

		// After separator bonus
		else if (isSeparatorAtPos(target, indexOfQueryInTarget - 1)) {
			score += 7;

			// console.log('After separtor bonus: +7');
		}

		// Inside word upper case bonus
		else if (isUpper(target.charCodeAt(indexOfQueryInTarget))) {
			score += 1;

			// console.log('Inside word upper case bonus: +1');
		}

		// console.groupEnd();

		targetIndex = indexOfQueryInTarget + 1;
		queryIndex++;
	}

	const res: Score = (score > 0) ? [score, matchingPositions] : NO_SCORE;

	// console.log(`%cFinal Score: ${score}`, 'font-weight: bold');
	// console.groupEnd();

	return res;
}
开发者ID:golf1052,项目名称:vscode,代码行数:91,代码来源:quickOpenScorer.ts



注:本文中的vs/base/common/filters.isUpper函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
TypeScript filters.matchesCamelCase函数代码示例发布时间:2022-05-25
下一篇:
TypeScript filters.fuzzyScore函数代码示例发布时间:2022-05-25
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap